Documentation
¶
Overview ¶
Package selectel implements a DNS provider for solving the DNS-01 challenge using Selectel Domains API. Selectel Domain API reference: https://kb.selectel.com/23136054.html Token: https://my.selectel.ru/profile/apikeys
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIError ¶
type APIError struct {
Description string `json:"error"`
Code int `json:"code"`
Field string `json:"field"`
}
APIError API error message
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client represents DNS client.
func (*Client) DeleteRecord ¶
DeleteRecord deletes specific record.
func (*Client) GetDomainByName ¶
GetDomainByName gets Domain object by its name.
type ClientOpts ¶
ClientOpts represents options to init client.
type Config ¶
type Config struct {
BaseURL string
Token string
PropagationTimeout time.Duration
PollingInterval time.Duration
TTL int
HTTPClient *http.Client
}
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 is an implementation of the acme.ChallengeProvider interface.
func NewDNSProvider ¶
func NewDNSProvider() (*DNSProvider, error)
NewDNSProvider returns a DNSProvider instance configured for Selectel Domains API. API token must be passed in the environment variable SELECTEL_API_TOKEN.
func NewDNSProviderConfig ¶
func NewDNSProviderConfig(config *Config) (*DNSProvider, error)
NewDNSProviderConfig return a DNSProvider instance configured for selectel.
func (*DNSProvider) CleanUp ¶
func (d *DNSProvider) CleanUp(domain, token, keyAuth string) error
CleanUp removes a TXT record used for DNS-01 challenge.
func (*DNSProvider) Present ¶
func (d *DNSProvider) Present(domain, token, keyAuth string) error
Present creates a TXT record to fulfill 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 Record ¶
type Record struct {
ID int `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Type string `json:"type,omitempty"` // Record type (SOA, NS, A/AAAA, CNAME, SRV, MX, TXT, SPF)
TTL int `json:"ttl,omitempty"`
Email string `json:"email,omitempty"` // Email of domain's admin (only for SOA records)
Content string `json:"content,omitempty"` // Record content (not for SRV)
}
Record represents DNS record.