This is a drop-in provider for apnscp to enable DNS support for accounts that use DO. This provider is built into apnscp.
EditDomain -c dns,provider=digitalocean -c dns,key=abcdef1234567890 domain.com
Where the key is created within DO. See How to Create a Personal Access Token.
DO may be configured as the default provider for all sites using the dns.default-provider
Scope. When adding a site in Nexus or AddDomain the key will be replaced with "DEFAULT". This is substituted automatically on account creation.
cpcmd config_set dns.default-provider digitalocean
cpcmd config_set dns.default-provider-key 'abcdef1234567890'
Note that it is not safe to set this value as a server-wide default in untrusted multiuser environments. A user with panel access can retrieve your key
common_get_service_value dns key
or even using Javascript in the panel,apnscp.cmd('common_get_service_value',['dns','key'], {async: false})
.
- Module- overrides Dns_Module behavior
- Validator- service validator, checks input with AddDomain/EditDomain helpers
All module methods can be overwritten. The following are the bare minimum that are overwritten for this DNS provider to work:
atomicUpdate()
attempts a record modification, which must retain the original record if it failszoneAxfr()
returns all DNS recordsadd_record()
add a DNS recordremove_record()
removes a DNS recordget_hosting_nameservers()
returns nameservers for the DNS provideradd_zone_backend()
creates DNS zoneremove_zone_backend()
removes a DNS zone
See also: Creating a provider (hq.apnscp.com)
Submit a PR and have fun!