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.4.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 supports both API v1 and v2.
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. Set it to v1 if your PowerAdmin installation uses the older API.
- 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.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| certbot_dns_poweradmin-0.2.6.tar.gz | 63.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| certbot_dns_poweradmin-0.2.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 86.1 kB
Release files / certbot_dns_poweradmin-0.2.6.tar.gz
| Download URL | certbot_dns_poweradmin-0.2.6.tar.gz |
|---|---|
| Size | 63.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c1c62d89d6ed44f283b46ad4f82e1b5d1c96b3184541e2bd358a6ba5204f1b55
|
|
BLAKE2b-256 checksum How to use checksums |
e3f3a88d2f180b8b584fdea4dd96654b3645fd33995f372631e41ed93041b75f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|
Release files / certbot_dns_poweradmin-0.2.6-py3-none-any.whl
| Download URL | certbot_dns_poweradmin-0.2.6-py3-none-any.whl |
|---|---|
| Size | 22.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88f74fada2dc449a2709f60d5fd00139832c58a724aa06909e635d42cd1de9b4
|
|
BLAKE2b-256 checksum How to use checksums |
6ffc1ffaece42ca45c6d97961925adbd6048f73b4f6a3c30d4d60eac39c9473a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.14
|