rfc2136

package
v0.0.0-...-5756e46 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2024 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const SolverName = "rfc2136"

Variables

This section is empty.

Functions

This section is empty.

Types

type DNSProvider

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

DNSProvider is an implementation of the acme.ChallengeProvider interface that uses dynamic DNS updates (RFC 2136) to create TXT records on a nameserver.

func NewDNSProviderCredentials

func NewDNSProviderCredentials(nameserver, tsigAlgorithm, tsigKeyName, tsigSecret string) (*DNSProvider, error)

NewDNSProviderCredentials uses the supplied credentials to return a DNSProvider instance configured for rfc2136 dynamic update. To disable TSIG authentication, leave the TSIG parameters as empty strings. nameserver must be a network address in the form "IP" or "IP:port".

func (*DNSProvider) CleanUp

func (r *DNSProvider) CleanUp(_, fqdn, zone, value string) error

CleanUp removes the TXT record matching the specified parameters

func (*DNSProvider) Nameserver

func (r *DNSProvider) Nameserver() string

Nameserver returns the nameserver configured for this provider when it was created

func (*DNSProvider) Present

func (r *DNSProvider) Present(_, fqdn, zone, value string) error

Present creates a TXT record using the specified parameters

func (*DNSProvider) TSIGAlgorithm

func (r *DNSProvider) TSIGAlgorithm() string

TSIGAlgorithm returns the TSIG algorithm configured for this provider when it was created

type Option

type Option func(*Solver)

func InitializeResetLister

func InitializeResetLister() Option

InitializeResetLister is a hack to make RFC2136 solver fit the Solver interface. Unlike external solvers that are run as apiserver implementations, this solver is created as part of challenge controller initialization. That makes its Initialize method not fit the Solver interface very well as we want a way to initialize the solver with the existing Secrets lister rather than a new kube apiserver client. InitializeResetLister allows to reset secrets lister when Initialize function is called so that a new lister can be created. This is useful in tests where a kube clientset can get recreated for an existing solver (which would not happen when this solver runs normally).

func WithNamespace

func WithNamespace(ns string) Option

func WithSecretsLister

func WithSecretsLister(secretLister internalinformers.SecretLister) Option

type Solver

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

func New

func New(opts ...Option) *Solver

func (*Solver) CleanUp

func (s *Solver) CleanUp(ch *whapi.ChallengeRequest) error

func (*Solver) Initialize

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

func (*Solver) Name

func (s *Solver) Name() string

func (*Solver) Present

func (s *Solver) Present(ch *whapi.ChallengeRequest) error

Jump to

Keyboard shortcuts

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