{
  "family": "language-services",
  "networkMode": "awsvpc",
  "requiresCompatibilities": ["FARGATE"],
  "cpu": "1024",
  "memory": "2048",
  "executionRoleArn": "arn:aws:iam::${AWS_ACCOUNT_ID}:role/language-services-ecs-execution-role",
  "taskRoleArn": "arn:aws:iam::${AWS_ACCOUNT_ID}:role/language-services-ecs-task-role",
  "containerDefinitions": [
    {
      "name": "language-services-app",
      "image": "${ECR_IMAGE_URI}",
      "essential": true,
      "portMappings": [
        {
          "containerPort": 3000,
          "protocol": "tcp",
          "name": "frontend"
        },
        {
          "containerPort": 5000,
          "protocol": "tcp",
          "name": "backend"
        }
      ],
      "environment": [
        {
          "name": "NODE_ENV",
          "value": "production"
        },
        {
          "name": "AWS_REGION",
          "value": "${AWS_REGION}"
        },
        {
          "name": "AI_FOR_YOU_INPUT",
          "value": "${INPUT_BUCKET}"
        },
        {
          "name": "AI_FOR_YOU_OUTPUT",
          "value": "${OUTPUT_BUCKET}"
        },
        {
          "name": "APPLICATION_SECRETS",
          "value": "${SECRETS_ARN}"
        },
        {
          "name": "NEXT_PUBLIC_API_URL",
          "value": "${APPLICATION_URL}"
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/language-services",
          "awslogs-region": "${AWS_REGION}",
          "awslogs-stream-prefix": "ecs"
        }
      },
      "healthCheck": {
        "command": [
          "CMD-SHELL",
          "curl -f http://localhost:5000/health || exit 1"
        ],
        "interval": 30,
        "timeout": 5,
        "retries": 3,
        "startPeriod": 60
      }
    }
  ]
}
