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). Deployed behind the public ALB with Route53 DNS, CloudWatch logging, and SSM-backed secrets. Manages crawler node registration, S3 report storage, and cookie sync scheduling.

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_security_group_rule.atrax_api_from_alb 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_ecr_repository.atrax_api data source
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_security_group_id Security group ID of the public ALB 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 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
ecs_security_group_id Security group ID of ECS tasks (ingress rule for ALB will be added to it) string n/a yes
environment Environment name string n/a yes
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 Memory in MB for the ECS task number 512 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
security_group_id Security group ID of the atrax-api ECS tasks
target_group_arn ARN of the ALB target group