sonic

package
v4.17.4 Latest Latest
Warning

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

Go to latest
Published: Jun 12, 2024 License: MIT Imports: 8 Imported by: 7

Documentation

Overview

Package sonic implements a DNS provider for solving the DNS-01 challenge using Sonic.

Index

Constants

View Source
const (
	EnvUserID = envNamespace + "USER_ID"
	EnvAPIKey = envNamespace + "API_KEY"

	EnvTTL                = envNamespace + "TTL"
	EnvPropagationTimeout = envNamespace + "PROPAGATION_TIMEOUT"
	EnvPollingInterval    = envNamespace + "POLLING_INTERVAL"
	EnvSequenceInterval   = envNamespace + "SEQUENCE_INTERVAL"
	EnvHTTPTimeout        = envNamespace + "HTTP_TIMEOUT"
)

Environment variables names.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	UserID             string
	APIKey             string
	HTTPClient         *http.Client
	PropagationTimeout time.Duration
	PollingInterval    time.Duration
	SequenceInterval   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 Sonic. Credentials must be passed in the environment variables: SONIC_USERID and SONIC_APIKEY.

func NewDNSProviderConfig

func NewDNSProviderConfig(config *Config) (*DNSProvider, error)

NewDNSProviderConfig return a DNSProvider instance configured for Sonic.

func (*DNSProvider) CleanUp

func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error

CleanUp removes the TXT records 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.

func (*DNSProvider) Sequential

func (d *DNSProvider) Sequential() time.Duration

Sequential All DNS challenges for this provider will be resolved sequentially. Returns the interval between each iteration.

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.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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