|
| 1 | +{ |
| 2 | + "family": "dataspace", |
| 3 | + "executionRoleArn": "${ECS_EXECUTION_ROLE_ARN}", |
| 4 | + "networkMode": "awsvpc", |
| 5 | + "requiresCompatibilities": ["FARGATE"], |
| 6 | + "cpu": "${CPU_UNITS}", |
| 7 | + "memory": "${MEMORY_UNITS}", |
| 8 | + "containerDefinitions": [ |
| 9 | + { |
| 10 | + "name": "dataspace", |
| 11 | + "image": "${ECR_REPOSITORY}:${IMAGE_TAG}", |
| 12 | + "essential": true, |
| 13 | + "portMappings": [ |
| 14 | + { |
| 15 | + "containerPort": ${APP_PORT}, |
| 16 | + "hostPort": ${APP_PORT}, |
| 17 | + "protocol": "tcp" |
| 18 | + } |
| 19 | + ], |
| 20 | + "environment": [ |
| 21 | + { "name": "DEBUG", "value": "${DEBUG_MODE}" }, |
| 22 | + { "name": "APP_PORT", "value": "${APP_PORT}" }, |
| 23 | + { "name": "DB_ENGINE", "value": "${DB_ENGINE}" }, |
| 24 | + { "name": "DB_PORT", "value": "${DB_PORT}" }, |
| 25 | + { "name": "TELEMETRY_URL", "value": "${TELEMETRY_URL}" } |
| 26 | + ], |
| 27 | + "secrets": [ |
| 28 | + { "name": "DB_HOST", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/DB_HOST" }, |
| 29 | + { "name": "DB_NAME", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/DB_NAME" }, |
| 30 | + { "name": "DB_USER", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/DB_USER" }, |
| 31 | + { "name": "DB_PASSWORD", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/DB_PASSWORD" }, |
| 32 | + { "name": "ELASTICSEARCH_INDEX", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/ELASTICSEARCH_INDEX" }, |
| 33 | + { "name": "ELASTICSEARCH_USERNAME", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/ELASTICSEARCH_USERNAME" }, |
| 34 | + { "name": "ELASTICSEARCH_PASS", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/ELASTICSEARCH_PASS" }, |
| 35 | + { "name": "REDIS_HOST", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/REDIS_HOST" }, |
| 36 | + { "name": "SECRET_KEY", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/SECRET_KEY" }, |
| 37 | + { "name": "URL_WHITELIST", "valueFrom": "arn:aws:ssm:${AWS_REGION}:${AWS_ACCOUNT_ID}:parameter/dataspace/URL_WHITELIST" } |
| 38 | + ], |
| 39 | + "logConfiguration": { |
| 40 | + "logDriver": "awslogs", |
| 41 | + "options": { |
| 42 | + "awslogs-group": "/ecs/dataspace", |
| 43 | + "awslogs-region": "${AWS_REGION}", |
| 44 | + "awslogs-stream-prefix": "ecs", |
| 45 | + "awslogs-create-group": "true" |
| 46 | + } |
| 47 | + }, |
| 48 | + "healthCheck": { |
| 49 | + "command": ["CMD-SHELL", "curl -f http://localhost:${APP_PORT}/health/ || exit 1"], |
| 50 | + "interval": 30, |
| 51 | + "timeout": 5, |
| 52 | + "retries": 3, |
| 53 | + "startPeriod": 60 |
| 54 | + } |
| 55 | + } |
| 56 | + ], |
| 57 | + "tags": [ |
| 58 | + { "key": "Environment", "value": "${ENVIRONMENT}" }, |
| 59 | + { "key": "Application", "value": "dataspace" }, |
| 60 | + { "key": "ManagedBy", "value": "CloudFormation" } |
| 61 | + ] |
| 62 | +} |
0 commit comments