Tool to automatically replace TLS certificates maintained by acmetool.
Helmut Pozimski e43cb383ab Update license headers to use SPDX format | 1 年之前 | |
---|---|---|
amulib | 1 年之前 | |
example | 7 年之前 | |
.gitignore | 7 年之前 | |
COPYING | 7 年之前 | |
README.md | 7 年之前 | |
acme-updater | 7 年之前 | |
setup.py | 7 年之前 |
acme-updater is a tool that takes care of automatically replacing Let's Encrypt SSL certificates maintained by acmetool. It replaces the certificates, takes care of restarting the services and optionally writes TLSA records. The following services are currently supported:
Current development is focused on Debian 8 jessie with sysvinit because that's what I use mysel. It might be extended to support other distributions or init systems in the future.
acme-updater can be called with the following command line arguments:
The ones corresponding to service names enable the module for the service to take care of maintaining the certificates for it. The config argument expects a path to the configuration file as parameter. Verbose overrides any log level set in the configuration file and enables debug logging.
acme-updater is developed for python 3.x. It might work on older versions but this is not supported. Additionally, the following python modules are required:
This software is published under the GNU GENERAL PUBLIC LICENSE, version 2.
The configuration file is a json file which contains a json object with the keys "loglevel", "acme_dir", "dns_server" and "named_key_path". The first one defines the loglevel to use. The second one defines the acme state dir which can be used to obtain the current certificates, the third one the DNS server to talk to and the last one the path to the named session key which is needed to write TLSA records via nsupdate. The other keys in the object correspond to the names of the services and their modules. Each service configuration is another json object and the structure of these might differ by service. They are documented in the section for the modules.
An example configuration file with all parameters in provided in example/config.json.
This module accepts the following configuration parameters:
The module will parse all vhosts, determine if they use a Let's encrypt certificate and manage it if this is the case and the vhost isn't excluded.
This module accepts the following configuration parameters:
This module accepts the following configuration parameters:
This module accepts the following configuration parameters:
Use the setup.py to perform the installation, this requires the setuptools module.