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 - 4.5.x >= 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 uses API v2 by default. API v1 is deprecated and was removed in Poweradmin 4.5.0.

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. Setting it to v1 is deprecated: it works only with Poweradmin below 4.5.0, logs a warning, and will be removed in the next major release of this plugin. Poweradmin 4.5.0 and later answer 410 Gone on every API v1 request, so use v2 there.

  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

Metadata

Release files for certbot-dns-poweradmin 0.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for certbot-dns-poweradmin 0.2.7
File Size Uploaded Provenance
certbot_dns_poweradmin-0.2.7.tar.gz 28.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for certbot-dns-poweradmin 0.2.7
File Interpreter ABI Platform
certbot_dns_poweradmin-0.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 51.5 kB

Release files / certbot_dns_poweradmin-0.2.7.tar.gz

Download URL certbot_dns_poweradmin-0.2.7.tar.gz
Size 28.5 kB
Tags Source
SHA-256 checksum
How to use checksums
53e92db5d8542082fcbee239f7cf65ec24ae96f6f0b7eb49c994984bbe60451e
BLAKE2b-256 checksum
How to use checksums
6d644e72ed409c7b7ef0d5db7c3be4f89a565f7c28123ebfa659553ea93ad5ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / certbot_dns_poweradmin-0.2.7-py3-none-any.whl

Download URL certbot_dns_poweradmin-0.2.7-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c1dff6d65b783cbe06e51070049311c817e711d25cb08955410b188618e8d4e3
BLAKE2b-256 checksum
How to use checksums
0e6b362bd83875fae4fcaa6fc8b4da48b7aee95689f2ae2e38fc1744a652f256
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for certbot-dns-poweradmin 0.2.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page