Documentation ¶
Overview ¶
Package checkdomain implements a DNS provider for solving the DNS-01 challenge using CheckDomain DNS.
Index ¶
Constants ¶
View Source
const ( EnvEndpoint = envNamespace + "ENDPOINT" EnvToken = envNamespace + "TOKEN" EnvTTL = envNamespace + "TTL" EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT" EnvPollingInterval = envNamespace + "POLLING_INTERVAL" EnvHTTPTimeout = envNamespace + "HTTP_TIMEOUT" )
Environment variables names.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Endpoint *url.URL Token string TTL int PropagationTimeout time.Duration PollingInterval time.Duration HTTPClient *http.Client }
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 CheckDomain.
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
func (*DNSProvider) CleanUp ¶
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error
CleanUp removes the TXT record previously created.
func (*DNSProvider) Present ¶
func (d *DNSProvider) Present(domain, token, keyAuth string) error
Present creates a TXT record to fulfill the dns-01 challenge.
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.
type DomainListingResponse ¶
type DomainListingResponse struct { Page int `json:"page"` Limit int `json:"limit"` Pages int `json:"pages"` Total int `json:"total"` Embedded EmbeddedDomainList `json:"_embedded"` }
type DomainResponse ¶
type EmbeddedDomainList ¶
type EmbeddedDomainList struct {
Domains []*Domain `json:"domains"`
}
type EmbeddedRecordList ¶
type EmbeddedRecordList struct {
Records []*Record `json:"records"`
}
type Nameserver ¶
type Nameserver struct {
Name string `json:"name"`
}
type NameserverGeneral ¶
type NameserverResponse ¶
type NameserverResponse struct { General NameserverGeneral `json:"general"` Nameservers []*Nameserver `json:"nameservers"` SOA NameserverSOA `json:"soa"` }
type NameserverSOA ¶
type RecordListingResponse ¶
type RecordListingResponse struct { Page int `json:"page"` Limit int `json:"limit"` Pages int `json:"pages"` Total int `json:"total"` Embedded EmbeddedRecordList `json:"_embedded"` }
Click to show internal directories.
Click to hide internal directories.