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 ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DNSProvider ¶
type DNSProvider struct {
// contains filtered or unexported fields
}
DNSProvider is an implementation of the acme.ChallengeProvider interface
func Default ¶
func Default() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for azure. Credentials must be passed in the environment variables: AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID, AZURE_TENANT_ID
func New ¶
func New(opt Options) (*DNSProvider, error)
NewDNSProviderCredentials uses the supplied credentials to return a DNSProvider instance configured for azure.
func (*DNSProvider) DeleteARecord ¶
func (c *DNSProvider) DeleteARecord(domain string, ip string) error
func (*DNSProvider) DeleteARecords ¶
func (c *DNSProvider) DeleteARecords(domain string) error
func (*DNSProvider) EnsureARecord ¶
func (c *DNSProvider) EnsureARecord(domain string, ip string) error
func (*DNSProvider) Timeout ¶
func (c *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 Options ¶
type Options struct { TenantId string `json:"tenant_id" envconfig:"AZURE_TENANT_ID" form:"azure_tenant_id"` SubscriptionId string `json:"subscription_id" envconfig:"AZURE_SUBSCRIPTION_ID" form:"azure_subscription_id"` ClientId string `json:"client_id" envconfig:"AZURE_CLIENT_ID" form:"azure_client_id"` ClientSecret string `json:"client_secret" envconfig:"AZURE_CLIENT_SECRET" form:"azure_client_secret"` ResourceGroup string `json:"resource_group" envconfig:"AZURE_RESOURCE_GROUP" form:"azure_resource_group"` }