Documentation ¶
Index ¶
Constants ¶
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 WithSecretsLister ¶
func WithSecretsLister(secretLister internalinformers.SecretLister) Option
type Solver ¶
type Solver struct {
// contains filtered or unexported fields
}
func (*Solver) Initialize ¶
func (s *Solver) Initialize(kubeClientConfig *restclient.Config, stopCh <-chan struct{}) error