Documentation ¶
Overview ¶
Package azuredns 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" EnvSubscriptionID = envNamespace + "SUBSCRIPTION_ID" EnvResourceGroup = envNamespace + "RESOURCE_GROUP" EnvZoneName = envNamespace + "ZONE_NAME" EnvPrivateZone = envNamespace + "PRIVATE_ZONE" EnvTenantID = envNamespace + "TENANT_ID" EnvClientID = envNamespace + "CLIENT_ID" EnvClientSecret = envNamespace + "CLIENT_SECRET" EnvOIDCToken = envNamespace + "OIDC_TOKEN" EnvOIDCTokenFilePath = envNamespace + "OIDC_TOKEN_FILE_PATH" EnvOIDCRequestURL = envNamespace + "OIDC_REQUEST_URL" EnvOIDCRequestToken = envNamespace + "OIDC_REQUEST_TOKEN" EnvAuthMethod = envNamespace + "AUTH_METHOD" EnvAuthMSITimeout = envNamespace + "AUTH_MSI_TIMEOUT" EnvServiceDiscoveryFilter = envNamespace + "SERVICEDISCOVERY_FILTER" EnvTTL = envNamespace + "TTL" EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT" EnvPollingInterval = envNamespace + "POLLING_INTERVAL" EnvGitHubOIDCRequestURL = "ACTIONS_ID_TOKEN_REQUEST_URL" EnvGitHubOIDCRequestToken = "ACTIONS_ID_TOKEN_REQUEST_TOKEN" )
Environment variables names.
const ( ResourceGraphTypePublicDNSZone = "microsoft.network/dnszones" ResourceGraphTypePrivateDNSZone = "microsoft.network/privatednszones" )
const ResourceGraphQueryOptionsTop int32 = 1000
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { ZoneName string SubscriptionID string ResourceGroup string PrivateZone bool Environment cloud.Configuration // optional if using default Azure credentials ClientID string ClientSecret string TenantID string OIDCToken string OIDCTokenFilePath string OIDCRequestURL string OIDCRequestToken string AuthMethod string AuthMSITimeout time.Duration PropagationTimeout time.Duration PollingInterval time.Duration TTL int HTTPClient *http.Client ServiceDiscoveryFilter string }
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 azuredns.
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.
func (*DNSProviderPrivate) CleanUp ¶
func (d *DNSProviderPrivate) CleanUp(domain, _, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters.
func (*DNSProviderPrivate) Present ¶
func (d *DNSProviderPrivate) Present(domain, _, 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.
func (*DNSProviderPublic) CleanUp ¶
func (d *DNSProviderPublic) CleanUp(domain, _, keyAuth string) error
CleanUp removes the TXT record matching the specified parameters.
func (*DNSProviderPublic) Present ¶
func (d *DNSProviderPublic) Present(domain, _, 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.