Skip to content

Auto-generated

This page is generated by terraform-docs at build time from the infra/ repo. Do not edit manually.

Atrax API

ECS service for the Atrax API (crawler controller). Runs on the core ECS cluster alongside core-api, behind the public ALB with Route53 DNS, CloudWatch logging, and SSM-backed secrets. Manages crawler node registration, S3 report storage, and cookie sync scheduling. Atrax-node workers run in a separate eu-west-1 VPC and reach this service over the public ALB.

Requirements

Name Version
terraform >= 1.6.0
aws ~> 5.0

Providers

Name Version
aws ~> 5.0

Modules

No modules.

Resources

Name Type
aws_cloudwatch_log_group.atrax_api resource
aws_ecs_service.atrax_api resource
aws_ecs_task_definition.atrax_api resource
aws_iam_policy.read_ssm resource
aws_iam_role.execution_role resource
aws_iam_role.task_role resource
aws_iam_role_policy_attachment.execution_read_ssm resource
aws_iam_role_policy_attachment.execution_role_policy resource
aws_lb_listener_rule.atrax_api resource
aws_lb_target_group.atrax_api resource
aws_route53_record.atrax_api resource
aws_ssm_parameter.controller_auth resource
aws_ssm_parameter.database_url resource
aws_ssm_parameter.s3_access_key_id resource
aws_ssm_parameter.s3_secret_access_key resource
aws_iam_policy_document.ecs_assume_role data source
aws_route53_zone.selected data source

Inputs

Name Description Type Default Required
alb_dns_name DNS name of the public ALB (for Route53 alias target) string n/a yes
alb_https_listener_arn ARN of the public ALB HTTPS listener string n/a yes
alb_zone_id Canonical hosted zone ID of the public ALB (for Route53 alias) string n/a yes
base_tags Base tags to apply to all resources map(string) {} no
cluster_name ECS cluster name to deploy the service into (the core cluster) string n/a yes
container_port Port the container listens on number 3000 no
cookie_sync_interval_ms Interval in ms for syncing cookies from DB string "86400000" no
cookie_sync_url URL to sync cookies from string "https://cdn.cookiehub.eu/db/cookies.json" no
desired_count Desired number of ECS tasks number 1 no
ecr_repository_url ECR repository URL for the atrax-api image (e.g. .dkr.ecr..amazonaws.com/atrax-api) string n/a yes
environment Environment name string n/a yes
image_tag Image tag to deploy string "latest" no
name_prefix Prefix for resource names string n/a yes
node_stale_ms How old seen_at can be before a node is considered stale (ms) string "3600000" no
region AWS region string n/a yes
s3_bucket_express S3 bucket name for express reports string "atrax-stage-express" no
s3_bucket_extended S3 bucket name for extended reports string "atrax-stage-extended" no
s3_bucket_screenshot S3 bucket name for screenshots string "atrax-stage-screenshots" no
s3_region S3 region string "eu-central-1" no
stale_nodes_interval_ms Interval in ms for checking stale nodes string "300000" no
subdomain Subdomain for the atrax-api (e.g. 'atrax-api' for atrax-api.stage.cookiehub.net) string "atrax-api" no
task_cpu CPU units for the ECS task number 512 no
task_memory Hard memory limit in MB for the ECS task (OOM ceiling) number 512 no
task_memory_reservation Soft memory limit in MB used for bin-packing. Defaults to half of task_memory. number null no
vpc_id VPC ID (used for the ALB target group) string n/a yes
zone_id Route53 hosted zone ID string n/a yes

Outputs

Name Description
target_group_arn ARN of the ALB target group