Skip to main content

certbot-dns-poweradmin

Test codecov PyPI Python

PowerAdmin DNS Authenticator plugin for Certbot

This plugin automates the process of completing a dns-01 challenge by creating, and subsequently removing, TXT records using the PowerAdmin API.

Version Compatibility

Plugin Version Poweradmin Version Python Certbot
0.2.x 4.1.0+ >= 3.10 >= 5.1.0
0.1.x 4.1.0 - 4.2.x >= 3.10 >= 5.1.0

Installation

pip install certbot-dns-poweradmin

PowerAdmin Configuration

Your PowerAdmin installation needs to have the API enabled. The plugin supports both API v1 and v2.

You'll need an API key with permissions to:

  • List zones
  • Create DNS records
  • Delete DNS records

Usage

  1. Create a credential file (e.g., /etc/letsencrypt/poweradmin.ini):
dns_poweradmin_api_url = https://poweradmin.example.com
dns_poweradmin_api_key = your-api-key-here
dns_poweradmin_api_version = v2

The api_version is optional and defaults to v2. Set it to v1 if your PowerAdmin installation uses the older API.

  1. Secure the credential file:
chmod 600 /etc/letsencrypt/poweradmin.ini
  1. Run certbot:
certbot certonly \
  --authenticator dns-poweradmin \
  --dns-poweradmin-credentials /etc/letsencrypt/poweradmin.ini \
  -d example.com

Arguments

Argument Description
--dns-poweradmin-credentials Path to credentials INI file (required)
--dns-poweradmin-propagation-seconds Seconds to wait for DNS propagation (default: 120)

Examples

Get a certificate for a single domain:

certbot certonly \
  --authenticator dns-poweradmin \
  --dns-poweradmin-credentials /etc/letsencrypt/poweradmin.ini \
  -d example.com

Get a wildcard certificate:

certbot certonly \
  --authenticator dns-poweradmin \
  --dns-poweradmin-credentials /etc/letsencrypt/poweradmin.ini \
  -d example.com \
  -d "*.example.com"

With custom propagation time:

certbot certonly \
  --authenticator dns-poweradmin \
  --dns-poweradmin-credentials /etc/letsencrypt/poweradmin.ini \
  --dns-poweradmin-propagation-seconds 300 \
  -d example.com

Docker

FROM certbot/certbot
RUN pip install certbot-dns-poweradmin

Build and run:

docker build -t certbot/dns-poweradmin .

docker run --rm \
  -v /etc/letsencrypt:/etc/letsencrypt \
  -v /var/lib/letsencrypt:/var/lib/letsencrypt \
  certbot/dns-poweradmin certonly \
  --authenticator dns-poweradmin \
  --dns-poweradmin-credentials /etc/letsencrypt/poweradmin.ini \
  -d example.com

Troubleshooting

Plugin not found by certbot

If certbot plugins doesn't show dns-poweradmin, ensure both certbot and the plugin are installed in the same Python environment:

# Check where certbot is installed
which certbot

# If using system certbot but plugin in venv, either:
# Option 1: Install certbot in the same venv
pip install certbot certbot-dns-poweradmin

# Option 2: Use certbot from the venv
python -m certbot plugins

Virtual environment usage

When using a virtual environment, install both certbot and the plugin together:

python3 -m venv certbot-env
source certbot-env/bin/activate
pip install certbot certbot-dns-poweradmin

# Run certbot from the venv
certbot plugins  # should show dns-poweradmin

API connection issues

  • Use the base URL of your PowerAdmin installation as dns_poweradmin_api_url (e.g. https://poweradmin.example.com), including the https:// scheme and without the /api path — the plugin appends /api/v1 or /api/v2 itself
  • The URL must not redirect (e.g. http:// to https://); the plugin refuses redirects and asks you to configure the final URL directly
  • Check that your API key has the required permissions

Sponsors

stepping stone AG

We thank stepping stone AG for their support of this project.

License

Apache License 2.0

Download files

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

Source Distribution

certbot_dns_poweradmin-0.2.4.tar.gz (63.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certbot_dns_poweradmin-0.2.4-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_poweradmin-0.2.4.tar.gz.

File metadata

  • Download URL: certbot_dns_poweradmin-0.2.4.tar.gz
  • Upload date:
  • Size: 63.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for certbot_dns_poweradmin-0.2.4.tar.gz
Algorithm Hash digest
SHA256 9340e76448e80e52f4fb1198b2887afd13b456c0d4f868c7154fd3373c540ada
MD5 f718ff33ddb736dea4e6843298501670
BLAKE2b-256 4dd2ffe89627f0bbcc287b0fd3161b1c62f8c5736d4e27a120e5651facb7a0fa

See more details on using hashes here.

File details

Details for the file certbot_dns_poweradmin-0.2.4-py3-none-any.whl.

File metadata

File hashes

Hashes for certbot_dns_poweradmin-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 872bfd69f3d7019a40ae2504eaf30380dafc5fd3e76598c4c0590ec9a8c00655
MD5 0c38a4ae12f37182cf4ca28f65dbd325
BLAKE2b-256 aa26543b68237245f26781a148f60a5a4192e2d673a036c57b1b22b7c5d58831

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page