registry

package
v0.13.1 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 9 Imported by: 1

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) AdjustEndpoints added in v0.7.5

func (sdr *AWSSDRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint

AdjustEndpoints modifies the endpoints as needed by the specific provider

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

func (*AWSSDRegistry) GetDomainFilter added in v0.9.0

func (sdr *AWSSDRegistry) GetDomainFilter() endpoint.DomainFilterInterface

func (*AWSSDRegistry) MissingRecords added in v0.12.1

func (sdr *AWSSDRegistry) MissingRecords() []*endpoint.Endpoint

MissingRecords returns nil because there is no missing records for AWSSD registry

func (*AWSSDRegistry) PropertyValuesEqual added in v0.7.2

func (sdr *AWSSDRegistry) PropertyValuesEqual(name string, previous string, current string) bool

func (*AWSSDRegistry) Records added in v0.5.2

func (sdr *AWSSDRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)

Records calls AWS SD API and expects AWS SD provider to provider Owner/Resource information as a serialized value in the AWSSDDescriptionLabel value in the Labels map

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) AdjustEndpoints added in v0.7.5

func (im *NoopRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint

AdjustEndpoints modifies the endpoints as needed by the specific provider

func (*NoopRegistry) ApplyChanges

func (im *NoopRegistry) ApplyChanges(ctx context.Context, changes *plan.Changes) error

ApplyChanges propagates changes to the dns provider

func (*NoopRegistry) GetDomainFilter added in v0.9.0

func (im *NoopRegistry) GetDomainFilter() endpoint.DomainFilterInterface

func (*NoopRegistry) MissingRecords added in v0.12.1

func (im *NoopRegistry) MissingRecords() []*endpoint.Endpoint

MissingRecords returns nil because there is no missing records for Noop registry

func (*NoopRegistry) PropertyValuesEqual added in v0.7.2

func (im *NoopRegistry) PropertyValuesEqual(attribute string, previous string, current string) bool

PropertyValuesEqual compares two property values for equality

func (*NoopRegistry) Records

func (im *NoopRegistry) Records(ctx context.Context) ([]*endpoint.Endpoint, error)

Records returns the current records from the dns provider

type Registry

type Registry interface {
	Records(ctx context.Context) ([]*endpoint.Endpoint, error)
	ApplyChanges(ctx context.Context, changes *plan.Changes) error
	PropertyValuesEqual(attribute string, previous string, current string) bool
	AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint
	GetDomainFilter() endpoint.DomainFilterInterface
	MissingRecords() []*endpoint.Endpoint
}

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, txtSuffix, ownerID string, cacheInterval time.Duration, txtWildcardReplacement string, managedRecordTypes []string) (*TXTRegistry, error)

NewTXTRegistry returns new TXTRegistry object

func (*TXTRegistry) AdjustEndpoints added in v0.7.5

func (im *TXTRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint

AdjustEndpoints modifies the endpoints as needed by the specific provider

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) GetDomainFilter added in v0.9.0

func (im *TXTRegistry) GetDomainFilter() endpoint.DomainFilterInterface

func (*TXTRegistry) MissingRecords added in v0.12.1

func (im *TXTRegistry) MissingRecords() []*endpoint.Endpoint

MissingRecords returns the TXT record to be created. The missing records are collected during the run of Records method.

func (*TXTRegistry) PropertyValuesEqual added in v0.7.2

func (im *TXTRegistry) PropertyValuesEqual(name string, previous string, current string) bool

PropertyValuesEqual compares two attribute values for equality

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

Jump to

Keyboard shortcuts

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