Skip to main content

PowerDNS DNS Authenticator plugin for Certbot

Project description

Build Status Coverage Status Quality Gate Status dependency status for latest release PyPI - Status

PyPI - Python Version


PowerDNS DNS Authenticator plugin for Certbot.

This plugin is built from the ground up and follows the development style and life-cycle of other certbot-dns-* plugins found in the Official Certbot Repository.


pip install --upgrade certbot
pip install certbot-dns-powerdns


$ certbot plugins --text

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
* certbot-dns-powerdns:dns-powerdns
Description: Obtain certificates using a DNS TXT record (if you are using
PowerDNS for DNS.)
Interfaces: IAuthenticator, IPlugin
Entry point: dns-powerdns = certbot_dns_powerdns.dns_powerdns:Authenticator



The credentials file e.g. ~/pdns-credentials.ini should look like this:

certbot_dns_powerdns:dns_powerdns_api_url =
certbot_dns_powerdns:dns_powerdns_api_key = AbCbASsd!@34


certbot ... \
        --authenticator certbot-dns-powerdns:dns-powerdns  \
        --certbot-dns-powerdns:dns-powerdns-credentials ~/pdns-credentials.ini \


Why such long name for a plugin?

This follows the upstream nomenclature: certbot-dns-<dns-provider>.

Why do I have to use : separator in the name? And why are the configuration file parameters so weird?

This is a limitation of the Certbot interface towards third-party plugins.

For details read the discussions:


Create a virtualenv, install the plugin (editable mode), spawn the environment and run the test:

virtualenv -p python3 .venv
. .venv/bin/activate
pip install -e .
docker-compose up -d
./test/ test/pdns-credentials.ini


Copyright (c) 2019 DT Pan-Net s.r.o

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for certbot-dns-powerdns, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size certbot-dns-powerdns-0.2.0.tar.gz (5.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page