PowerDNS
Configuration
To use this provider, add an entry to creds.json with TYPE set to POWERDNS along with your API URL, API Key and Server ID. In most cases the Server id is localhost.
Example:
{
"powerdns": {
"TYPE": "POWERDNS",
"apiKey": "your-key",
"apiUrl": "http://localhost",
"serverName": "localhost"
}
}Metadata
Following metadata are available:
{
'default_ns': [
'a.example.com.',
'b.example.com.'
],
'dnssec_on_create': false,
'zone_kind': 'Native',
}default_nssets the nameserver which are useddnssec_on_createspecifies if DNSSEC should be enabled when creating zoneszone_kindis the type that will be used when creating the zone. Can be one ofNative,MasterorSlave, when not specified it defaults toNative. Please see PowerDNS documentation for explanation of the kinds. Note that these tokens are case-sensitive!soa_edit_apiis the default SOA serial method that is used for zone created with the API Can be one ofDEFAULT,INCREASE,EPOCH,SOA-EDITorSOA-EDIT-INCREASE, default format is YYYYMMDD01. Please see PowerDNS SOA-EDIT-DNSUPDATE documentation for explanation of the kinds. Note that these tokens are case-sensitive!
Usage
An example configuration:
var REG_NONE = NewRegistrar("none");
var DSP_POWERDNS = NewDnsProvider("powerdns");
D("example.com", REG_NONE, DnsProvider(DSP_POWERDNS),
A("test", "1.2.3.4"),
);Activation
See the PowerDNS documentation how the API can be enabled.
Caveats
SOA Records
The SOA record is supported for use, but behavior is slightly different than expected. If the SOA record is used, PowerDNS will not increase the serial if the SOA record content changes. This itself comes with exceptions as well, if the SOA-EDIT-API is changed to a different value the logic will update the serial to a new value. See this issue for detailed testing of behavior.
The recommended procedure when changing the SOA record contents is to update the SOA record alone. Updates to other records will be done if changes are present, but the serial will not change. The serial will update once a new push is done that does not include an SOA record change.
Last updated