{"id":48026438,"url":"https://github.com/binbashar/terraform-aws-certbot-lambda","last_synced_at":"2026-04-04T13:50:45.291Z","repository":{"id":44148856,"uuid":"256589989","full_name":"binbashar/terraform-aws-certbot-lambda","owner":"binbashar","description":"Terraform module for deploying an AWS Lambda that generates Let's Encrypt certificates via Certbot","archived":false,"fork":false,"pushed_at":"2024-04-01T23:10:15.000Z","size":17387,"stargazers_count":8,"open_issues_count":2,"forks_count":8,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-05-01T09:51:59.925Z","etag":null,"topics":["bb-le-mod-terraform","binbash-terraform","terraform"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binbashar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null},"funding":{"github":"binbashar"}},"created_at":"2020-04-17T19:18:43.000Z","updated_at":"2024-04-28T00:11:28.000Z","dependencies_parsed_at":"2023-01-20T03:16:55.797Z","dependency_job_id":null,"html_url":"https://github.com/binbashar/terraform-aws-certbot-lambda","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/binbashar/terraform-aws-certbot-lambda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fterraform-aws-certbot-lambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fterraform-aws-certbot-lambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fterraform-aws-certbot-lambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fterraform-aws-certbot-lambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binbashar","download_url":"https://codeload.github.com/binbashar/terraform-aws-certbot-lambda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbashar%2Fterraform-aws-certbot-lambda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31402276,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: 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":["bb-le-mod-terraform","binbash-terraform","terraform"],"created_at":"2026-04-04T13:50:44.395Z","updated_at":"2026-04-04T13:50:45.277Z","avatar_url":"https://github.com/binbashar.png","language":"Python","funding_links":["https://github.com/sponsors/binbashar"],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://github.com/binbashar\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/binbashar/le-ref-architecture-doc/master/docs/assets/images/logos/binbash-leverage-banner.png\" width=\"1032\" align=\"left\" alt=\"Binbash\"/\u003e\n\u003c/a\u003e\n\u003cbr clear=\"left\"/\u003e\n\n# Certbot Lambda\n\nThis module deploys an AWS Lambda function that generates Let's Encrypt certificates via *certbot*, for the given domains.\nThe Lambda is triggered by a CloudWatch event rule whose schedule can be set through the 'function_trigger_schedule_expression' variable.\n\n### Considerations\nThe original pyhton source code was taken from https://github.com/kingsoftgames/certbot-lambda and\nwas adapted to the needs of the project at hand.\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | \u003e= 0.12.28 |\n| aws | ~\u003e 2.70 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| aws | ~\u003e 2.70 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| certificate\\_domains | Domains that will be included in the certificate | `any` | n/a | yes |\n| contact\\_email | Contact email for LetsEncrypt notifications | `any` | n/a | yes |\n| function\\_trigger\\_schedule\\_expression | A cron-like expression that determines when the function is triggered | `string` | `\"cron(0 */12 * * ? *)\"` | no |\n| hosted\\_zone\\_id | The id of the hosted zone that will be modified to prove ownership of the domain | `any` | n/a | yes |\n| name | A name for naming resources | `any` | n/a | yes |\n| name\\_prefix | A prefix used for naming resources | `string` | `\"certbot-lambda\"` | no |\n| tags | Resource Tags | `map` | `{}` | no |\n\n## Outputs\n\nNo output.\n\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Examples\nThe following example will deploy a Lambda that will generate certificates for *test.example.com*:\n```\nmodule \"certbot_lambda_test\" {\n  source                                = \"../../\"\n\n  # This is used for naming resources\n  name                                  = \"test\"\n\n  # This email used by Let's Encrypt for sending notifications about certificates\n  contact_email                         = \"admin@example.com\"\n\n  # This is the domain for the certificate\n  certificate_domains                   = \"test.example.com\"\n\n  # This zone will be automatically updated to meet the DNS challenge required by Let's Encrypt\n  hosted_zone_id                        = aws_route53_record.example_com.zone_id\n\n  # This is a cron-like expressions that determines when the Lambda is triggered\n  function_trigger_schedule_expression  = \"cron(12 20 * * ? *)\"\n}\n```\n\n## TODO\n- Add examples and tests (terratests)\n\n---\n\n## Binbash Leverage | DevOps Automation Code Library Integration\n\nIn order to get the full automated potential of the\n[Binbash Leverage DevOps Automation Code Library](https://leverage.binbash.com.ar/how-it-works/code-library/code-library/)  \nyou should initialize all the necessary helper **Makefiles**.\n\n#### How?\nYou must execute the `make init-makefiles` command  at the root context\n\n```shell\n╭─delivery at delivery-I7567 in ~/terraform/terraform-aws-backup-by-tags on master✔ 20-09-17\n╰─⠠⠵ make\nAvailable Commands:\n - init-makefiles     initialize makefiles\n\n```\n\n### Why?\nYou'll get all the necessary commands to automatically operate this module via a dockerized approach,\nexample shown below\n\n```shell\n╭─delivery at delivery-I7567 in ~/terraform/terraform-aws-backup-by-tags on master✔ 20-09-17\n╰─⠠⠵ make\nAvailable Commands:\n - circleci-validate-config  ## Validate A CircleCI Config (https\n - format-check        ## The terraform fmt is used to rewrite tf conf files to a canonical format and style.\n - format              ## The terraform fmt is used to rewrite tf conf files to a canonical format and style.\n - tf-dir-chmod        ## run chown in ./.terraform to gran that the docker mounted dir has the right permissions\n - version             ## Show terraform version\n - init-makefiles      ## initialize makefiles\n```\n\n```shell\n╭─delivery at delivery-I7567 in ~/terraform/terraform-aws-backup-by-tags on master✔ 20-09-17\n╰─⠠⠵ make format-check\ndocker run --rm -v /home/delivery/Binbash/repos/Leverage/terraform/terraform-aws-backup-by-tags:\"/go/src/project/\":rw -v :/config -v /common.config:/common-config/common.config -v ~/.ssh:/root/.ssh -v ~/.gitconfig:/etc/gitconfig -v ~/.aws/bb:/root/.aws/bb -e AWS_SHARED_CREDENTIALS_FILE=/root/.aws/bb/credentials -e AWS_CONFIG_FILE=/root/.aws/bb/config --entrypoint=/bin/terraform -w \"/go/src/project/\" -it binbash/terraform-awscli-slim:0.12.28 fmt -check\n```\n\n# Release Management\n### CircleCi PR auto-release job\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/binbashar/terraform-aws-certbot-lambda/master/figures/circleci-logo.png\"\n   alt=\"circleci\" width=\"130\"/\u003e\n\u003c/div\u003e\n\n- [**pipeline-job**](https://circleci.com/gh/binbashar/terraform-aws-certbot-lambda) (**NOTE:** Will only run after merged PR)\n- [**releases**](https://github.com/binbashar/terraform-aws-certbot-lambda/releases)\n- [**changelog**](https://github.com/binbashar/terraform-aws-certbot-lambda/blob/master/CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbashar%2Fterraform-aws-certbot-lambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinbashar%2Fterraform-aws-certbot-lambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbashar%2Fterraform-aws-certbot-lambda/lists"}