{"id":21513089,"url":"https://github.com/turnerlabs/terraform-https-alb-lambda","last_synced_at":"2026-03-06T07:01:57.954Z","repository":{"id":87027592,"uuid":"192761663","full_name":"turnerlabs/terraform-https-alb-lambda","owner":"turnerlabs","description":"A Terraform template that provisions HTTPS applications using ALB and Lambda","archived":false,"fork":false,"pushed_at":"2020-09-14T13:14:05.000Z","size":162,"stargazers_count":24,"open_issues_count":0,"forks_count":15,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-09T19:00:18.440Z","etag":null,"topics":["alb","aws","faas","lambda","serverless","terraform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/turnerlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2019-06-19T15:44:37.000Z","updated_at":"2024-01-07T21:09:32.000Z","dependencies_parsed_at":"2023-05-30T06:30:17.135Z","dependency_job_id":null,"html_url":"https://github.com/turnerlabs/terraform-https-alb-lambda","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/turnerlabs/terraform-https-alb-lambda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turnerlabs%2Fterraform-https-alb-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turnerlabs%2Fterraform-https-alb-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turnerlabs%2Fterraform-https-alb-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turnerlabs%2Fterraform-https-alb-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/turnerlabs","download_url":"https://codeload.github.com/turnerlabs/terraform-https-alb-lambda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/turnerlabs%2Fterraform-https-alb-lambda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"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":["alb","aws","faas","lambda","serverless","terraform"],"created_at":"2024-11-23T22:53:20.238Z","updated_at":"2026-03-06T07:01:57.930Z","avatar_url":"https://github.com/turnerlabs.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-https-alb-lambda\n\nA Terraform template that provisions HTTPS applications using ALB and Lambda.\n\nThis will give you a running endpoint in the following format:\n```bash\nhttps://${environment}.${app}.${domain}\n```\n\nNote that after `terraform apply`, you will have a \"hello world\" function behind an HTTPS endpoint.  The template stops after provisioning the cloud infrastructure and assumes that you will use a different tool to do ongoing code deployments.\n\n![diagram](diagram.png)\n\n\n## Components\n\n### base\n\nThese components are shared by all environments.\n\n| Name | Description | Optional |\n|------|-------------|:---:|\n| [main.tf](./base/main.tf) | AWS provider, output |  |\n| [state.tf](./base/state.tf) | S3 bucket backend for storing Terraform remote state  |  |\n\n### env/dev\n\nThese components are for a specific environment. There should be a corresponding directory for each environment\nthat is needed.\n\n| Name | Description | Optional |\n|------|-------------|:----:|\n| [main.tf](./env/dev/main.tf) | AWS provider |  |\n| [lambda.tf](./env/dev/lambda.tf) | Lambda function |  |\n| [lb.tf](./env/dev/lb.tf) | ALB, Target Group, S3 bucket for access logs  |  |\n| [lb-http.tf](./env/dev/lb-http.tf) | HTTP listener, NSG rule | Yes |\n| [lb-https.tf](./env/dev/lb-https.tf) | HTTPS listener, NSG rule | |\n| [dns-cert.tf](./env/dev/dns-cert.tf) | Route53 entry and ACM Certificate |  |\n| [nsg.tf](./env/dev/nsg.tf) | NSG for ALB and function |  |\n| [role.tf](./env/dev/role.tf) | Application Role for function |  |\n| [cicd.tf](./env/dev/cicd.tf) | IAM user that can be used by CI/CD systems to deploy code | Yes |\n| [secretsmanager.tf](./env/dev/secretsmanager.tf) | Secret in Secrets Manager | Yes |\n| [dashboard.tf](./env/dev/dashboard.tf) | CloudWatch dashboard: CPU, memory, and HTTP-related metrics | Yes |\n\n\n## Usage\n\nTypically, the base Terraform will only need to be run once, and then should only\nneed changes very infrequently. After the base is built, each environment can be built.\n\n```\n# Move into the base directory\n$ cd base\n\n# Sets up Terraform to run\n$ terraform init\n\n# Executes the Terraform run\n$ terraform apply\n\n# Now, move into the dev environment\n$ cd ../env/dev\n\n# Sets up Terraform to run\n$ terraform init\n\n# Executes the Terraform run\n$ terraform apply\n```\n\n##### Important (after initial `terraform apply`)\n\nThe generated base `.tfstate` is not stored in the remote state S3 bucket. Ensure the base `.tfstate` is checked into your infrastructure repo. The default Terraform `.gitignore` [generated by GitHub](https://github.com/github/gitignore/blob/master/Terraform.gitignore) will ignore all `.tfstate` files; you'll need to modify this\n\n\n## Additional Information\n\n+ [Base README](./base/README.md)\n\n+ [Environment `dev` README](./env/dev/README.md)\n\n\n## Updating readme docs\n\n```bash\nterraform-docs md .\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturnerlabs%2Fterraform-https-alb-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fturnerlabs%2Fterraform-https-alb-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fturnerlabs%2Fterraform-https-alb-lambda/lists"}