PowerDNS DNS Authenticator plugin for Certbot. This plugin uses the PowerDNS HTTP API to request modifications for the DNS-01 challenge.
A design goal of this plugin is to use the minimal amount of custom code to achieve integration with PowerDNS. As such it uses the existing Lexicon-based DNS framework in Certbot.
-
Install the plugin from PyPI
pip install certbot-dns-pdns
-
Verify that the plugin is installed:
$ certbot plugins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * dns-pdns Description: Obtain certificates using a DNS TXT record (if you are using PowerDNS for DNS). Interfaces: Authenticator, Plugin Entry point: EntryPoint(name='dns-pdns', value='certbot_dns_pdns.dns_pdns:Authenticator', group='certbot.plugins') [...]
Create a credentials file to use with this plugin:
~/pdns-credentials.ini
dns_pdns_endpoint = https://pdns-api.example.com
dns_pdns_api_key = <Your API Key>
dns_pdns_server_id = localhost # see https://doc.powerdns.com/authoritative/http-api/server.html
dns_pdns_disable_notify = false # Disable notification of secondaries after record changes
The available configuration options correspond to the DNS-Lexicon settings for the PowerDNS provider.
Run Certbot using the plugin as the authenticator:
certbot certonly \
--authenticator dns-pdns \
--dns-pdns-credentials ~/pdns-credentials.ini \
...
Apache License 2.0
- Felix Kaechele felix@kaechele.ca