etcddns

package
v0.0.0-...-0eea274 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Key

func Key(prefix string, dnsName string) string

Types

type EtcdDnsClient

type EtcdDnsClient struct {
	// contains filtered or unexported fields
}

func NewEtcdDnsClient

func NewEtcdDnsClient() (*EtcdDnsClient, error)

func (EtcdDnsClient) DeleteService

func (c EtcdDnsClient) DeleteService(key string, ctx context.Context) error

DeleteService deletes service record from etcd

func (EtcdDnsClient) GetServices

func (c EtcdDnsClient) GetServices(prefix string, ctx context.Context) ([]*Service, error)

GetService return all Service records stored in etcd stored anywhere under the given key (recursively)

func (EtcdDnsClient) SaveService

func (c EtcdDnsClient) SaveService(service *Service, ctx context.Context) error

SaveService persists service data into etcd

type Service

type Service struct {
	Host     string `json:"host,omitempty"`
	Port     int    `json:"port,omitempty"`
	Priority int    `json:"priority,omitempty"`
	Weight   int    `json:"weight,omitempty"`
	Text     string `json:"text,omitempty"`
	Mail     bool   `json:"mail,omitempty"` // Be an MX record. Priority becomes Preference.
	TTL      uint32 `json:"ttl,omitempty"`

	// When a SRV record with a "Host: IP-address" is added, we synthesize
	// a srv.Target domain name.  Normally we convert the full Key where
	// the record lives to a DNS name and use this as the srv.Target.  When
	// TargetStrip > 0 we strip the left most TargetStrip labels from the
	// DNS name.
	TargetStrip int `json:"targetstrip,omitempty"`

	// Group is used to group (or *not* to group) different services
	// together. Services with an identical Group are returned in the same
	// answer.
	Group string `json:"group,omitempty"`

	// Etcd key where we found this service and ignored from json un-/marshaling
	Key string `json:"-"`
}

Service represents CoreDNS etcd record

type Solver

type Solver struct {
	// contains filtered or unexported fields
}

func (*Solver) CleanUp

func (c *Solver) CleanUp(ch *v1alpha1.ChallengeRequest) error

CleanUp should delete the relevant TXT record from the DNS provider console. TODO: If multiple TXT records exist with the same record name (e.g. _acme-challenge.example.com) then **only** the record with the same `key` value provided on the ChallengeRequest should be cleaned up. This is in order to facilitate multiple DNS validations for the same domain concurrently

func (*Solver) Initialize

func (c *Solver) Initialize(kubeClientConfig *rest.Config, stopCh <-chan struct{}) error

func (*Solver) Name

func (c *Solver) Name() string

func (*Solver) Present

func (c *Solver) Present(ch *v1alpha1.ChallengeRequest) error

Present is responsible for actually presenting the DNS record with the DNS provider.

Jump to

Keyboard shortcuts

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