{"id":22196713,"url":"https://github.com/druids/terraform-aws-ecs-app","last_synced_at":"2026-03-19T22:03:44.518Z","repository":{"id":45368698,"uuid":"314262713","full_name":"druids/terraform-aws-ecs-app","owner":"druids","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-06T12:27:21.000Z","size":74,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-30T02:14:16.168Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/druids.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-19T13:52:18.000Z","updated_at":"2024-07-11T12:21:52.000Z","dependencies_parsed_at":"2024-01-26T12:22:07.577Z","dependency_job_id":"a76972f8-9491-4a6e-b2ce-683f7d364a8e","html_url":"https://github.com/druids/terraform-aws-ecs-app","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druids%2Fterraform-aws-ecs-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druids%2Fterraform-aws-ecs-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druids%2Fterraform-aws-ecs-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/druids%2Fterraform-aws-ecs-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/druids","download_url":"https://codeload.github.com/druids/terraform-aws-ecs-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245366207,"owners_count":20603438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-12-02T14:16:13.882Z","updated_at":"2026-01-06T11:10:50.565Z","avatar_url":"https://github.com/druids.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ECS App (EC2)\n\nThis module creates resources for a containarized ECS application.\n\n## EC2\n\nThis is a version for EC2 backed ECS cluster.\n\nThe service is behind a load balancer which means it is exposed. A HTTP healthcheck is required.\n\n## Required resources\n\n- ECS cluster\n- VPC\n- VPC subnets\n- Application Load Balancer (ALB)\n\n## Creates resources\n\n- ECS service\n- ECS task definition\n- Container definition (using Cloudposse module)\n- ECR repository\n- IAM task execution role\n- Custom policy attachment\n- CloudWatch log group\n- Security group\n- ALB target group\n- ALB listener rule\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | \u003e= 0.13 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| aws | n/a |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| alb\\_arn | application load balancer under which target group and services will be registered | `any` | n/a | yes |\n| app | app name | `any` | n/a | yes |\n| cluster\\_name | ecs cluster name where the services will be registered | `any` | n/a | yes |\n| cooldown | n/a | `number` | `60` | no |\n| cpu | CPU reservation for the task | `number` | `256` | no |\n| deregistration\\_delay | n/a | `number` | `30` | no |\n| ecr\\_tag\\_prefix\\_list |  n/a | `list` | `[\"latest\"]` | no |\n| ecr_number\\_of\\_newest_tags |  n/a | `number` | `90` | no |\n| ecr\\_untagged\\_lifetime |  n/a | `number` | `1` | no |\n| environment | n/a | `list` | `[]` | no |\n| healthcheck\\_grace | n/a | `number` | `0` | no |\n| healthcheck\\_healthy\\_threshold | n/a | `number` | `3` | no |\n| healthcheck\\_interval | n/a | `number` | `60` | no |\n| healthcheck\\_matcher | n/a | `string` | `\"200\"` | no |\n| healthcheck\\_path | n/a | `string` | `\"/\"` | no |\n| healthcheck\\_timeout | n/a | `number` | `5` | no |\n| healthcheck\\_unhealthy\\_threshold | n/a | `number` | `3` | no |\n| image | override image - disables creating ecr repository | `string` | `\"\"` | no |\n| load\\_balancing\\_algorithm\\_type | n/a | `string` | `\"least_outstanding_requests\"` | no |\n| log\\_retention | for how many days to keep app logs | `number` | `30` | no |\n| max\\_capacity | n/a | `number` | `1` | no |\n| max\\_healthy | n/a | `number` | `200` | no |\n| memory | MEM reservation for the task | `number` | `256` | no |\n| memory\\_limit | MEM hard limit for the task | `number` | `0` | no |\n| min\\_capacity | n/a | `number` | `1` | no |\n| min\\_healthy | n/a | `number` | `50` | no |\n| name | name of this specific service | `any` | n/a | yes |\n| placement\\_constraint\\_expression | n/a | `string` | `\"agentConnected==true\"` | no |\n| placement\\_constraint\\_type | n/a | `string` | `\"memberOf\"` | no |\n| policy | IAM Policy heredoc to use with task | `string` | `\"\"` | no |\n| port | port on which the service listens | `number` | `80` | no |\n| priority | listener rule priority - must be unique to each ecs-app (module) | `any` | n/a | yes |\n| private\\_subnet\\_ids | list of private subnets where to provision services | `list` | n/a | yes |\n| project | project name | `any` | n/a | yes |\n| scale\\_down | n/a | `number` | `30` | no |\n| scale\\_up | n/a | `number` | `80` | no |\n| scheduling\\_strategy | n/a | `string` | `\"REPLICA\"` | no |\n| secrets | n/a | `list` | `[]` | no |\n| stage | stage name | `any` | n/a | yes |\n| tags | n/a | `map` | `{}` | no |\n| url | url for the alb listener | `any` | n/a | yes |\n| vpc\\_id | vpc id - used in target group, security group etc | `any` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| cloudwatch\\_log\\_group\\_arn | n/a |\n| ecr\\_repository | n/a |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdruids%2Fterraform-aws-ecs-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdruids%2Fterraform-aws-ecs-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdruids%2Fterraform-aws-ecs-app/lists"}