certbot-dns-poweradmin
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
- 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.
- Secure the credential file:
chmod 600 /etc/letsencrypt/poweradmin.ini
- 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 thehttps://scheme and without the/apipath — the plugin appends/api/v1or/api/v2itself - The URL must not redirect (e.g.
http://tohttps://); the plugin refuses redirects and asks you to configure the final URL directly - Check that your API key has the required permissions
Sponsors
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| certbot_dns_poweradmin-0.2.7.tar.gz | 28.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.