Documentation ¶
Overview ¶
Package bluecat implements a DNS provider for solving the DNS-01 challenge using a self-hosted Bluecat Address Manager.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { BaseURL string UserName string Password string ConfigName string DNSView string PropagationTimeout time.Duration PollingInterval time.Duration TTL int 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 is an implementation of the challenge.Provider interface that uses Bluecat's Address Manager REST API to manage TXT records for a domain.
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for Bluecat DNS. Credentials must be passed in the environment variables: BLUECAT_SERVER_URL, BLUECAT_USER_NAME and BLUECAT_PASSWORD. BLUECAT_SERVER_URL should have the scheme, hostname, and port (if required) of the authoritative Bluecat BAM server. The REST endpoint will be appended. In addition, the Configuration name and external DNS View Name must be passed in BLUECAT_CONFIG_NAME and BLUECAT_DNS_VIEW
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for Bluecat DNS.
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 This will *not* create a subzone to contain the TXT record, so make sure the FQDN specified is within an extant zone.
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.