Skip to content

tmuncks/certbot-dns-powerdns

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

certbot-dns-powerdns

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.

Compatibility:

  • PowerDNS Authoritative Server API
  • PowerDNS-Admin API

Installation

NOTE: This package is not currently published on PyPi. Waiting for Pull Request to be accepted upstream. In the meantime, please build and install manually.

$ git clone https://github.com/tmuncks/certbot-dns-powerdns.git
$ cd certbot-dns-powerdns
$ python3 -m build

$ sudo pip3 install certbot
$ sudo pip3 install ./dist/certbot_dns_powerdns-<version>-py2.py3-none-any.whl

Verify:

$ certbot plugins

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

Configuration

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

dns_powerdns_api_url = https://api.mypowerdns.example.org
dns_powerdns_api_key = AbCbASsd!@34

Usage

certbot ... \
        --authenticator dns-powerdns \
        --dns-powerdns-credentials /etc/letsencrypt/pdns-credentials.ini \
        certonly

FAQ

Why such long name for a plugin?

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

Development

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/run_certonly.sh test/pdns-credentials.ini

License

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

Copyright (c) 2021 Thomas M. Steenholdt

About

PowerDNS DNS Authenticator plugin for Certbot

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.1%
  • Shell 14.9%