Skip to content

Repository files navigation

certbot-lambda

Running Certbot on AWS Lambda.

Inspired by Deploying EFF's Certbot in AWS Lambda.

Features

  • Supports wildcard certificates (Let's Encrypt ACME v2).
  • Uploads certificates to specified Amazon S3 bucket.
  • Works with CloudWatch Scheduled Events for certificate renewal.
  • Use Terraform to deploy to AWS (See terraform folder).

How to archive zip file for lambda function

./package.sh

Variables

Certificates

This is a map of certificates that you want to schedule renewals for (using cloudwatch events)

VariableDescriptionTypeRequired
namename for the cloudwatch eventstringy
descriptiondescription for the cloudwatch eventstringy
schedule_expressionschedule in cron() or rate() formatstringy
is_enabledenable/disable switchbooly
inputthe parameters that get sent to the lambdamapy

Input

VariableDescriptionTypeRequired
emailscomma-separated list of email to associate with the LE certstringy
domainscomma-separated list of domains to request certs forstringy
s3_buckets3 bucket to save the certificate files instringy
s3_prefixs3 prefix to save the certifcate files withstringy
s3_regionregion of the s3 bucketstringy

Example

certificates = {
"my_cert" = {
name : "my_cert"
description : "SSL certificate for my site"
schedule_expression : "cron(0 16 L * ? *)"
is_enabled : true
input = {
emails : "admin@mysite.com"
domains : "www.mysite.com"
s3_bucket : "my_s3_bucket"
s3_prefix : "certs/"
s3_region : "us-east-1"
}
}
}

How to update certbot version

  • Source virtualenv
source certbot/venv/bin/activate
  • Recreate requirements.txt with any plugins
readonly CERTBOT_VERSION=1.17.0
readonly CERTBOT_DNS_TENCENTCLOUD_VERSION=1.3.0
pip3 install \
certbot==${CERTBOT_VERSION} \
certbot-dns-route53==${CERTBOT_VERSION}\ 
certbot-dns-tencentcloud==${CERTBOT_DNS_TENCENTCLOUD_VERSION}# Optional dns plugin
  • Create new requirements file
# https://stackoverflow.com/questions/39577984/what-is-pkg-resources-0-0-0-in-output-of-pip-freeze-command
pip freeze | grep -v "pkg-resources"> requirements.txt

About

Running Certbot on AWS Lambda.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages