Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSSDRegistry ¶ added in v0.5.2
type AWSSDRegistry struct {
// contains filtered or unexported fields
}
AWSSDRegistry implements registry interface with ownership information associated via the Description field of SD Service
func NewAWSSDRegistry ¶ added in v0.5.2
func NewAWSSDRegistry(provider provider.Provider, ownerID string) (*AWSSDRegistry, error)
NewAWSSDRegistry returns implementation of registry for AWS SD
func (*AWSSDRegistry) ApplyChanges ¶ added in v0.5.2
func (sdr *AWSSDRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges filters out records not owned the External-DNS, additionally it adds the required label inserted in the AWS SD instance as a CreateID field
type NoopRegistry ¶
type NoopRegistry struct {
// contains filtered or unexported fields
}
NoopRegistry implements registry interface without ownership directly propagating changes to dns provider
func NewNoopRegistry ¶
func NewNoopRegistry(provider provider.Provider) (*NoopRegistry, error)
NewNoopRegistry returns new NoopRegistry object
func (*NoopRegistry) ApplyChanges ¶
func (im *NoopRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges propagates changes to the dns provider
type Registry ¶
type Registry interface {
Records(ctx context.Context) ([]*endpoint.Endpoint, error)
ApplyChanges(ctx context.Context, changes *plan.Changes) error
}
Registry is an interface which should enables ownership concept in external-dns Records() returns ALL records registered with DNS provider each entry includes owner information ApplyChanges(changes *plan.Changes) propagates the changes to the DNS Provider API and correspondingly updates ownership depending on type of registry being used
type TXTRegistry ¶
type TXTRegistry struct {
// contains filtered or unexported fields
}
TXTRegistry implements registry interface with ownership implemented via associated TXT records
func NewTXTRegistry ¶
func NewTXTRegistry(provider provider.Provider, txtPrefix, ownerID string, cacheInterval time.Duration) (*TXTRegistry, error)
NewTXTRegistry returns new TXTRegistry object
func (*TXTRegistry) ApplyChanges ¶
func (im *TXTRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error
ApplyChanges updates dns provider with the changes for each created/deleted record it will also take into account TXT records for creation/deletion
func (*TXTRegistry) Records ¶
func (im *TXTRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)
Records returns the current records from the registry excluding TXT Records If TXT records was created previously to indicate ownership its corresponding value will be added to the endpoints Labels map