azuredns

package
v4.14.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2023 License: MIT Imports: 16 Imported by: 0

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

View Source
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"

	EnvAuthMethod     = envNamespace + "AUTH_METHOD"
	EnvAuthMSITimeout = envNamespace + "AUTH_MSI_TIMEOUT"

	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 {
	SubscriptionID string
	ResourceGroup  string
	PrivateZone    bool

	Environment cloud.Configuration

	// optional if using default Azure credentials
	ClientID     string
	ClientSecret string
	TenantID     string

	AuthMethod     string
	AuthMSITimeout time.Duration

	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 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 with initialized Azure clients.

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 with intialised Azure clients.

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL