Reference IaC for the AWS deployment described in ../../docs/02-aws-deployment.md.

Status: skeleton. It compiles (terraform validate) and demonstrates the module structure. Before applying it to a real AWS account, review every resource, set sensible sizes, and add the missing pieces called out in # TODO comments.

Layout

infra/terraform/
├── modules/
│   ├── network/            # VPC, subnets, NAT, endpoints
│   ├── ecs-cluster/        # cluster + Cloud Map namespace
│   ├── ecs-service/        # one Fargate service per microservice
│   ├── rds/                # Aurora Postgres
│   ├── elasticache/        # Redis
│   └── msk/                # Kafka cluster
└── envs/
    └── dev/                # one stack per environment

How to use

cd envs/dev
terraform init
terraform plan -var image_tag=0.1.0
terraform apply -var image_tag=0.1.0

State is stored in S3 (configure in envs/<env>/backend.tf) with DynamoDB locking.