cloudxns

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2018 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package cloudxns implements a DNS provider for solving the DNS-01 challenge using CloudXNS DNS.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	HTTPClient *http.Client
	BaseURL    string
	// contains filtered or unexported fields
}

Client CloudXNS client

func NewClient

func NewClient(apiKey string, secretKey string) (*Client, error)

NewClient creates a CloudXNS client

func (*Client) AddTxtRecord

func (c *Client) AddTxtRecord(info *Data, fqdn, value string, ttl int) error

AddTxtRecord add a TXT record

func (*Client) FindTxtRecord

func (c *Client) FindTxtRecord(zoneID, fqdn string) (*TXTRecord, error)

FindTxtRecord return the TXT record a zone ID and a FQDN

func (*Client) GetDomainInformation

func (c *Client) GetDomainInformation(fqdn string) (*Data, error)

GetDomainInformation Get domain name information for a FQDN

func (*Client) RemoveTxtRecord

func (c *Client) RemoveTxtRecord(recordID, zoneID string) error

RemoveTxtRecord remove a TXT record

type Config

type Config struct {
	APIKey             string
	SecretKey          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 CloudXNS. Credentials must be passed in the environment variables: CLOUDXNS_API_KEY and CLOUDXNS_SECRET_KEY.

func NewDNSProviderConfig

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

NewDNSProviderConfig return a DNSProvider instance configured for CloudXNS.

func NewDNSProviderCredentials

func NewDNSProviderCredentials(apiKey, secretKey string) (*DNSProvider, error)

NewDNSProviderCredentials uses the supplied credentials to return a DNSProvider instance configured for CloudXNS.

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 Data

type Data struct {
	ID     string `json:"id"`
	Domain string `json:"domain"`
	TTL    int    `json:"ttl,omitempty"`
}

Data Domain information

type TXTRecord

type TXTRecord struct {
	ID       int    `json:"domain_id,omitempty"`
	RecordID string `json:"record_id,omitempty"`

	Host   string `json:"host"`
	Value  string `json:"value"`
	Type   string `json:"type"`
	LineID int    `json:"line_id,string"`
	TTL    int    `json:"ttl,string"`
}

TXTRecord a TXT record

Jump to

Keyboard shortcuts

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