2016-02-01 01:33:17 -05:00
|
|
|
## Route53 plugin for Let's Encrypt client
|
|
|
|
|
|
|
|
|
|
### Before you start
|
|
|
|
|
|
2017-03-17 06:04:04 -04:00
|
|
|
It's expected that the root hosted zone for the domain in question already
|
|
|
|
|
exists in your account.
|
2016-02-01 01:33:17 -05:00
|
|
|
|
|
|
|
|
### Setup
|
|
|
|
|
|
2016-10-03 15:06:38 -04:00
|
|
|
1. Create a virtual environment
|
2016-02-01 01:33:17 -05:00
|
|
|
|
2017-03-17 06:04:04 -04:00
|
|
|
2. Update its pip and setuptools (`VENV/bin/pip install -U setuptools pip`)
|
|
|
|
|
to avoid problems with cryptography's dependency on setuptools>=11.3.
|
2016-02-01 01:33:17 -05:00
|
|
|
|
2017-03-17 06:04:04 -04:00
|
|
|
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).
|
2016-10-04 09:20:12 -04:00
|
|
|
|
2017-03-17 06:04:04 -04:00
|
|
|
4. Install this package.
|
2016-02-01 01:33:17 -05:00
|
|
|
|
|
|
|
|
### How to use it
|
|
|
|
|
|
2016-10-03 15:06:38 -04:00
|
|
|
Make sure you have access to AWS's Route53 service, either through IAM roles or
|
2017-03-17 06:04:04 -04:00
|
|
|
via `.aws/credentials`. Check out
|
2017-05-26 14:28:55 -04:00
|
|
|
[sample-aws-policy.json](examples/sample-aws-policy.json) for the necessary permissions.
|
2016-10-03 15:06:38 -04:00
|
|
|
|
|
|
|
|
To generate a certificate:
|
2016-02-01 01:33:17 -05:00
|
|
|
```
|
2016-10-04 09:20:12 -04:00
|
|
|
certbot certonly \
|
2016-10-03 15:06:38 -04:00
|
|
|
-n --agree-tos --email DEVOPS@COMPANY.COM \
|
2017-06-06 18:41:04 -04:00
|
|
|
--dns-route53 \
|
2016-10-03 15:06:38 -04:00
|
|
|
-d MY.DOMAIN.NAME
|
2016-02-01 01:33:17 -05:00
|
|
|
```
|