certbot/certbot-dns-route53
ohemorange 9c345ac301
Do not require mock in Python 3 in certbot-dns modules (#7900)
Part of #7886.

This PR conditionally installs `mock` in `certbot-dns-*/setup.py` based on setuptools version and python version, when possible. It then updates the tests to use `unittest.mock` when `mock` isn't available.

* Do not require mock in Python 3 in certbot-dns modules

* update changelog

* error when trying to build wheels with old setuptools

* add type: ignores
2020-04-15 11:54:44 -07:00
..
certbot_dns_route53 Remove useless pylint error suppression directives (#7657) 2020-02-13 13:56:16 -08:00
docs Don't display todo comments in docs (#7753) 2020-02-06 15:39:47 -08:00
examples route53: rename to match other DNS plugins (#4747) 2017-06-06 15:41:04 -07:00
tests Do not require mock in Python 3 in certbot-dns modules (#7900) 2020-04-15 11:54:44 -07:00
.gitignore route53: rename to match other DNS plugins (#4747) 2017-06-06 15:41:04 -07:00
LICENSE.txt Unify license filename (LICENSE.txt) (#7239) 2019-07-12 22:53:43 +03:00
local-oldest-requirements.txt Release 1.1.0 2020-01-14 10:52:03 -08:00
MANIFEST.in Refactor tests out of packaged module for dns plugins (#7599) 2019-11-26 15:25:28 -08:00
README.md route53: rename to match other DNS plugins (#4747) 2017-06-06 15:41:04 -07:00
readthedocs.org.requirements.txt Refactor certbot/ and certbot/tests/ to use the same structure as the other packages (#7544) 2019-11-25 14:28:05 -08:00
setup.cfg route53: rename to match other DNS plugins (#4747) 2017-06-06 15:41:04 -07:00
setup.py Do not require mock in Python 3 in certbot-dns modules (#7900) 2020-04-15 11:54:44 -07:00

Route53 plugin for Let's Encrypt client

Before you start

It's expected that the root hosted zone for the domain in question already exists in your account.

Setup

  1. Create a virtual environment

  2. Update its pip and setuptools (VENV/bin/pip install -U setuptools pip) to avoid problems with cryptography's dependency on setuptools>=11.3.

  3. Make sure you have libssl-dev and libffi (or your regional equivalents) installed. You might have to set compiler flags to pick things up (I have to use CPPFLAGS=-I/usr/local/opt/openssl/include LDFLAGS=-L/usr/local/opt/openssl/lib on my macOS to pick up brew's openssl, for example).

  4. Install this package.

How to use it

Make sure you have access to AWS's Route53 service, either through IAM roles or via .aws/credentials. Check out sample-aws-policy.json for the necessary permissions.

To generate a certificate:

certbot certonly \
  -n --agree-tos --email DEVOPS@COMPANY.COM \
  --dns-route53 \
  -d MY.DOMAIN.NAME