Documentation
¶
Overview ¶
Package rfc2136 implements a DNS provider for solving the DNS-01 challenge using the RFC2136 dynamic update.
Index ¶
Constants ¶
const ( EnvNameserver = envNamespace + "NAMESERVER" EnvDNSTimeout = envNamespace + "DNS_TIMEOUT" EnvZones = envNamespace + "ZONES" EnvTTL = envNamespace + "TTL" EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT" EnvPollingInterval = envNamespace + "POLLING_INTERVAL" EnvSequenceInterval = envNamespace + "SEQUENCE_INTERVAL" )
Environment variables names.
const ( EnvTSIGFile = envTSIG + "FILE" EnvTSIGKey = envTSIG + "KEY" EnvTSIGSecret = envTSIG + "SECRET" EnvTSIGAlgorithm = envTSIG + "ALGORITHM" )
Environment variables names related to TSIG.
const ( EnvTSIGGSSRealm = envTSIGGSS + "REALM" EnvTSIGGSSUsername = envTSIGGSS + "USERNAME" EnvTSIGGSSPassword = envTSIGGSS + "PASSWORD" EnvTSIGGSSKeytabFile = envTSIGGSS + "KEYTAB_FILE" )
Environment variables names related to GSS-TSIG.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Nameserver string
DNSTimeout time.Duration
Zones []string
TSIGFile string
TSIGAlgorithm string
TSIGKey string
TSIGSecret string
TSIGGSSRealm string
TSIGGSSUsername string
TSIGGSSPassword string
TSIGGSSKeytabFile string
PropagationTimeout time.Duration
PollingInterval time.Duration
TTL int
SequenceInterval time.Duration
}
Config is used to configure the creation of the DNSProvider.
func NewDefaultConfig ¶
func NewDefaultConfig() *Config
NewDefaultConfig returns a default configuration for the DNSProvider.
type DNSProvider ¶
type DNSProvider struct {
// contains filtered or unexported fields
}
DNSProvider implements the challenge.Provider interface.
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for dnsupdate (RFC2136) dynamic update. Configured with environment variables: DNSUPDATE_NAMESERVER: Network address in the form "host" or "host:port". DNSUPDATE_TSIG_ALGORITHM: Defaults to hmac-md5.sig-alg.reg.int. (HMAC-MD5). See https://github.com/miekg/dns/blob/master/tsig.go for supported values. DNSUPDATE_TSIG_KEY: Name of the secret key as defined in DNS server configuration. DNSUPDATE_TSIG_SECRET: Secret key payload. DNSUPDATE_PROPAGATION_TIMEOUT: DNS propagation timeout in time.ParseDuration format. (60s) To disable TSIG authentication, leave the DNSUPDATE_TSIG* variables unset.
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for rfc2136.
func (*DNSProvider) CleanUp ¶
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters.
func (*DNSProvider) Present ¶
func (d *DNSProvider) Present(domain, token, keyAuth string) error
Present creates a TXT record using the specified parameters.
func (*DNSProvider) Sequential ¶
func (d *DNSProvider) Sequential() time.Duration
Sequential All DNS challenges for this provider will be resolved sequentially. Returns the interval between each iteration.
func (*DNSProvider) Timeout ¶
func (d *DNSProvider) Timeout() (timeout, interval time.Duration)
Timeout returns the timeout and interval to use when checking for DNS propagation. Adjusting here to cope with spikes in propagation times.