{"id":20056819,"url":"https://github.com/100automations/terraform-loadbalanced-ecs-webapp","last_synced_at":"2026-03-04T09:30:51.331Z","repository":{"id":128759237,"uuid":"319126710","full_name":"100Automations/terraform-loadbalanced-ecs-webapp","owner":"100Automations","description":"terraform configuration for deploying an ECS web server to AWS","archived":false,"fork":false,"pushed_at":"2020-12-06T20:42:00.000Z","size":17,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-02T09:32:59.706Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/100Automations.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-12-06T20:38:36.000Z","updated_at":"2020-12-06T20:39:26.000Z","dependencies_parsed_at":"2023-05-10T12:54:30.937Z","dependency_job_id":null,"html_url":"https://github.com/100Automations/terraform-loadbalanced-ecs-webapp","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/100Automations/terraform-loadbalanced-ecs-webapp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/100Automations%2Fterraform-loadbalanced-ecs-webapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/100Automations%2Fterraform-loadbalanced-ecs-webapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/100Automations%2Fterraform-loadbalanced-ecs-webapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/100Automations%2Fterraform-loadbalanced-ecs-webapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/100Automations","download_url":"https://codeload.github.com/100Automations/terraform-loadbalanced-ecs-webapp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/100Automations%2Fterraform-loadbalanced-ecs-webapp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30077058,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T08:01:56.766Z","status":"ssl_error","status_checked_at":"2026-03-04T08:00:42.919Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T12:56:41.645Z","updated_at":"2026-03-04T09:30:51.301Z","avatar_url":"https://github.com/100Automations.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-loadbalanced-ecs-webapp\n\nConfiguration for provisioning AWS cloud resources to run a scalable web server\nwith an internet-facing load balancer.\n\nYou might use this if to deploy a containerized webserver application. This\nmodule plays well with [100Automations\npostgres-vpc](https://github.com/100automations/terraform-aws-postgres-vpc) for\ndeploying a full secure backend with database, network, and web server.\n\n\n# example\n```hcl\nmodule \"webapp\" {\n  source = \"git::https://github.com/100Automations/terraform-loadbalanced-ecs-webapp.git?ref=tags/v0.1.0\"\n\n  # common\n  tags       = { Namespace = \"OneHundredAutomations\", terraform_managed = true }\n  namespace  = \"1ha\"\n  region     = \"us-west-2\"\n  stage      = \"dev\"\n\n  acm_certificate_arn = \"arn:aws:acm:us-west-2:123456789100:certificate/ac4akjde-asdjf44444asdlkfj463464fbe5\"\n  vpc_id = \"vpc-01234556abcdef\"\n\n  task_definition_file = \"task.json\"\n\n  public_subnet_ids = [\n    \"subnet-0011223\",\n    \"subnet-002233445\",\n    \"subnet-0033aabbcce\",\n  ]\n\n  project_name     = \"my-webapp\"\n  task_name        = \"server\"\n  container_name   = \"express\"\n  container_port   = 80\n  container_cpu    = 256\n  container_memory = 1024\n  desired_count    = 1\n  extra_task_definition_vars = { foo = \"bar\", another = \"baz\" }\n}\n```\n\nsee the [example directory](./example) for a more full fledged working example.\n\n# inputs\n| Name | Description |  Default | Required |\n|------|-------------|----------|:--------:|\n|additional\\_security\\_group\\_ids|a list of 0 or more security group ids to be added to ecs service network configuraiton. Example ['sg-abcd10234', 'sg-112233445']| []| no|\n|stage|a short name identifier describing the stage or lifecycle this infra represents. Example \"dev\", \"stg\", \"qa\", \"prod\"| \"\"| yes|\n|namespace|a short name identifier for top-level organization of resources. Used to separate and identify different projects and avoid name collisions on shared infra| \"\" | yes|\n|region| AWS region short code where the infrastructure is running. Example: \"us-west-2\", \"us-east-1\"| \"us-west-2\"| no|\n|project\\_name| A name or identifier of the project. Used for naming cluster,service, security groups, and more.| \"\"| yes|\n|vpc\\_id| The VPC identifier for which the app should be provisioned into|\"\"|yes|\n|container\\_name| The name of the webserver container|\"\"|yes|\n|container\\_port| The port that the container exposes to web traffic|8080|no|\n|container\\_memory| The amount of RAM in MiB to dedicate to the container|1024|no|\n|container\\_cpu|The amount of cpu in MiB to dedicate to the container|512|no|\n|desired\\_count|The number of tasks to be launched when the service is created|1|no|\n|assign\\_public\\_ip| Whether or not to expose a public IP address on the task containers. Can be useful for debugging when true. Defaults to false.|false|no|\n|tags| Map of resource tags useful for billing breakdown and usage|{terraform\\_managed = true}|no|\n|acm\\_certificate\\_arn| the ARN for the TLS certificate available in the region where the webserver is to be running| \"\"| yes|\n|health\\_check\\_route| The endpoint on the webserver app where the load balancer target group will do HTTP GET requests to run health checks. Must return an HTTP status 200| \"/status\"| no|\n|task\\_name|The name of the ECS task; can match the project or container name. This value is useful to know and often important for CI actions doing automated deployments|\"app\"|no|\n|extra\\_task\\_definition\\_vars|A map of key value pairs to be passed into an interpolated into the task defintion template json file. These work hand in hand with the `task.json` file described below.| {}| no|\n|task\\_definition\\_file|The file path to a JSON file containing an ECS task definition. This file is expected to be within the current working directory. Read more on ECS task defintion syntax: https://docs.aws amazon.com/AmazonECS/latest/developerguide/example\\_task\\_definitions.html|\"task\\_definition.json\"|no|\n\n# License\nGPL-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F100automations%2Fterraform-loadbalanced-ecs-webapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F100automations%2Fterraform-loadbalanced-ecs-webapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F100automations%2Fterraform-loadbalanced-ecs-webapp/lists"}