Documentation ¶
Overview ¶
Package azure implements a DNS provider for solving the DNS-01 challenge using azure DNS. Azure doesn't like trailing dots on domain names, most of the acme code does.
Index ¶
Constants ¶
const ( EnvEnvironment = envNamespace + "ENVIRONMENT" EnvMetadataEndpoint = envNamespace + "METADATA_ENDPOINT" EnvSubscriptionID = envNamespace + "SUBSCRIPTION_ID" EnvResourceGroup = envNamespace + "RESOURCE_GROUP" EnvTenantID = envNamespace + "TENANT_ID" EnvClientID = envNamespace + "CLIENT_ID" EnvClientSecret = envNamespace + "CLIENT_SECRET" EnvZoneName = envNamespace + "ZONE_NAME" EnvPrivateZone = envNamespace + "PRIVATE_ZONE" EnvTTL = envNamespace + "TTL" EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT" EnvPollingInterval = envNamespace + "POLLING_INTERVAL" )
Environment variables names.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { ClientID string ClientSecret string TenantID string SubscriptionID string ResourceGroup string PrivateZone bool MetadataEndpoint string Environment cloud.Configuration PropagationTimeout time.Duration PollingInterval time.Duration TTL int }
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 azure. Credentials can be passed in the environment variables: AZURE_ENVIRONMENT, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_TENANT_ID, AZURE_RESOURCE_GROUP If the credentials are _not_ set via the environment, then it will attempt to get a bearer token via the instance metadata service. see: https://github.com/Azure/go-autorest/blob/v10.14.0/autorest/azure/auth/auth.go#L38-L42
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for Azure.
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 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 DNSProviderPrivate ¶
type DNSProviderPrivate struct {
// contains filtered or unexported fields
}
DNSProviderPrivate implements the challenge.Provider interface for Azure Private Zone DNS.
func NewDNSProviderPrivate ¶
func NewDNSProviderPrivate(config *Config, credentials *azcore.TokenCredential) (*DNSProviderPrivate, error)
NewDNSProviderPrivate creates a DNSProviderPrivate structure with intialised Azure clients.
func (*DNSProviderPrivate) CleanUp ¶
func (d *DNSProviderPrivate) CleanUp(domain, token, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters.
func (*DNSProviderPrivate) Present ¶
func (d *DNSProviderPrivate) Present(domain, token, keyAuth string) error
Present creates a TXT record to fulfill the dns-01 challenge.
func (*DNSProviderPrivate) Timeout ¶
func (d *DNSProviderPrivate) 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 DNSProviderPublic ¶
type DNSProviderPublic struct {
// contains filtered or unexported fields
}
DNSProviderPublic implements the challenge.Provider interface for Azure Public Zone DNS.
func NewDNSProviderPublic ¶
func NewDNSProviderPublic(config *Config, credentials *azcore.TokenCredential) (*DNSProviderPublic, error)
NewDNSProviderPublic creates a DNSProviderPublic structure with intialised Azure clients.
func (*DNSProviderPublic) CleanUp ¶
func (d *DNSProviderPublic) CleanUp(domain, token, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters.
func (*DNSProviderPublic) Present ¶
func (d *DNSProviderPublic) Present(domain, token, keyAuth string) error
Present creates a TXT record to fulfill the dns-01 challenge.
func (*DNSProviderPublic) Timeout ¶
func (d *DNSProviderPublic) 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.