Skip to content

apisnetworks/apiscp-dns-katapult

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 

Katapult DNS Provider

This is a drop-in provider for ApisCP to enable DNS support for accounts that use Katapult. This provider is built into ApisCP.

Configuring

EditDomain -c dns,provider=katapult -c dns,key=Ku83HzcXaz domain.com

Where the "key" is created within Katapult. See Katapult API Reference for more information.

Organizations

Keys may be attached to multiple organizations. ApisCP will use the first valid organization when determining where to create the zone. This can be overridden by specifying 'token' and 'org' fields:

EditDomain -c dns,provider=katapult -c dns,provider='[token:Ku83HzcXaz,org:org_AmJ024]' domain.com

Setting as default

Katapult 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 scope:set dns.default-provider katapult
cpcmd scope:set dns.default-provider-key 'Ku83HzcXaz'

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}).

Components

  • Module- overrides Dns_Module behavior
  • Validator- service validator, checks input with AddDomain/EditDomain helpers

Minimal module methods

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 fails
  • zoneAxfr() returns all DNS records
  • add_record() add a DNS record
  • remove_record() removes a DNS record
  • get_hosting_nameservers() returns nameservers for the DNS provider
  • add_zone_backend() creates DNS zone
  • remove_zone_backend() removes a DNS zone

See also: Creating a provider (hq.apnscp.com)

Contributing

Submit a PR and have fun!

About

Katapult DNS driver

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages