PowerDNS
Configuration for PowerDNS.
- Code:
pdns
- Since: v0.4.0
Here is an example bash command using the PowerDNS provider:
PDNS_API_URL=http://pdns-server:80/ \
PDNS_API_KEY=xxxx \
lego --email you@example.com --dns pdns -d '*.example.com' -d example.com run
Credentials
Environment Variable Name | Description |
---|---|
PDNS_API_KEY |
API key |
PDNS_API_URL |
API URL |
The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
More information here.
Additional Configuration
Environment Variable Name | Description |
---|---|
PDNS_API_VERSION |
Skip API version autodetection and use the provided version number. |
PDNS_HTTP_TIMEOUT |
API request timeout |
PDNS_POLLING_INTERVAL |
Time between DNS propagation check |
PDNS_PROPAGATION_TIMEOUT |
Maximum waiting time for DNS propagation |
PDNS_SERVER_NAME |
Name of the server in the URL, ’localhost’ by default |
PDNS_TTL |
The TTL of the TXT record used for the DNS challenge |
The environment variable names can be suffixed by _FILE
to reference a file instead of a value.
More information here.
Information
Tested and confirmed to work with PowerDNS authoritative server 3.4.8 and 4.0.1. Refer to PowerDNS documentation instructions on how to enable the built-in API interface.
PowerDNS Notes:
- PowerDNS API does not currently support SSL, therefore you should take care to ensure that traffic between lego and the PowerDNS API is over a trusted network, VPN etc.
- In order to have the SOA serial automatically increment each time the
_acme-challenge
record is added/modified via the API, setSOA-EDIT-API
toINCEPTION-INCREMENT
for the zone in thedomainmetadata
table - Some PowerDNS servers doesn’t have root API endpoints enabled and API version autodetection will not work. In that case version number can be defined using
PDNS_API_VERSION
.