source

package
v0.7.18 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2020 License: Apache-2.0, BSD-3-Clause, MIT Imports: 24 Imported by: 3

Documentation

Index

Constants

View Source
const CLASS_ANNOTATION = dns.CLASS_ANNOTATION
View Source
const CONTROLLER_GROUP_DNS_SOURCES = dns.CONTROLLER_GROUP_DNS_SOURCES
View Source
const DNS_ANNOTATION = dns.ANNOTATION_GROUP + "/dnsnames"
View Source
const KEY_STATE = "source-state"
View Source
const OPT_CLASS = "dns-class"
View Source
const OPT_EXCLUDE = "exclude-domains"
View Source
const OPT_KEY = "key"
View Source
const OPT_NAMEPREFIX = "target-name-prefix"
View Source
const OPT_NAMESPACE = "target-namespace"
View Source
const OPT_TARGET_CLASS = "dns-target-class"
View Source
const OPT_TARGET_CREATOR_LABEL_NAME = "target-creator-label-name"
View Source
const OPT_TARGET_CREATOR_LABEL_VALUE = "target-creator-label-value"
View Source
const OPT_TARGET_OWNER_ID = "target-owner-id"
View Source
const OPT_TARGET_REALMS = "target-realms"
View Source
const OPT_TARGET_SET_IGNORE_OWNERS = "target-set-ignore-owners"
View Source
const PERIOD_ANNOTATION = dns.ANNOTATION_GROUP + "/cname-lookup-interval"
View Source
const TARGET_CLUSTER = "target"
View Source
const TTL_ANNOTATION = dns.ANNOTATION_GROUP + "/ttl"

Variables

Functions

func DNSSourceController

func DNSSourceController(source DNSSourceType, reconcilerType controller.ReconcilerType) controller.Configuration

func MasterResourcesType

func MasterResourcesType(kind schema.GroupKind) reconcilers.Resources

func NewState

func NewState() interface{}

func SlaveReconcilerType

func SlaveReconcilerType(c controller.Interface) (reconcile.Interface, error)

func SourceReconciler

func SourceReconciler(sourceType DNSSourceType, rtype controller.ReconcilerType) controller.ReconcilerType

Types

type DNSCurrentState

type DNSCurrentState struct {
	Names          map[string]*DNSState
	Targets        utils.StringSet
	AnnotatedNames utils.StringSet
}

type DNSFeedback

type DNSFeedback interface {
	Succeeded(logger logger.LogContext)
	Pending(logger logger.LogContext, dnsname string, msg string, dnsState *DNSState)
	Ready(logger logger.LogContext, dnsname string, msg string, dnsState *DNSState)
	Invalid(logger logger.LogContext, dnsname string, err error, dnsState *DNSState)
	Failed(logger logger.LogContext, dnsname string, err error, dnsState *DNSState)
	Deleted(logger logger.LogContext, dnsname string, msg string, dnsState *DNSState)
}

func NewEventFeedback

func NewEventFeedback(obj resources.Object, events map[string]string) DNSFeedback

type DNSInfo

type DNSInfo struct {
	Names     utils.StringSet
	TTL       *int64
	Interval  *int64
	Targets   utils.StringSet
	Text      utils.StringSet
	OrigRef   *v1alpha1.EntryReference
	TargetRef *v1alpha1.EntryReference
}

type DNSSource

type DNSSource interface {
	Setup()

	CreateDNSFeedback(obj resources.Object) DNSFeedback
	GetDNSInfo(logger logger.LogContext, obj resources.Object, current *DNSCurrentState) (*DNSInfo, error)

	Delete(logger logger.LogContext, obj resources.Object) reconcile.Status
	Deleted(logger logger.LogContext, key resources.ClusterObjectKey)
}

type DNSSourceCreator

type DNSSourceCreator func(controller.Interface) (DNSSource, error)

type DNSSourceType

type DNSSourceType interface {
	Name() string
	GroupKind() schema.GroupKind
	Create(controller.Interface) (DNSSource, error)
}

func NewDNSSouceTypeForCreator

func NewDNSSouceTypeForCreator(name string, kind schema.GroupKind, handler DNSSourceCreator) DNSSourceType

func NewDNSSouceTypeForExtractor

func NewDNSSouceTypeForExtractor(name string, kind schema.GroupKind, handler DNSTargetExtractor) DNSSourceType

type DNSState

type DNSState struct {
	v1alpha1.DNSEntryStatus
	CreationTimestamp metav1.Time
}

type DNSTargetExtractor

type DNSTargetExtractor func(logger logger.LogContext, obj resources.Object, current *DNSCurrentState) (utils.StringSet, utils.StringSet, error)

type DefaultDNSSource

type DefaultDNSSource struct {
	*Events
	// contains filtered or unexported fields
}

func NewDefaultDNSSource

func NewDefaultDNSSource(handler DNSTargetExtractor) DefaultDNSSource

func (*DefaultDNSSource) CreateDNSFeedback

func (this *DefaultDNSSource) CreateDNSFeedback(obj resources.Object) DNSFeedback

func (*DefaultDNSSource) GetDNSInfo

func (this *DefaultDNSSource) GetDNSInfo(logger logger.LogContext, obj resources.Object, current *DNSCurrentState) (*DNSInfo, error)

func (*DefaultDNSSource) Setup

func (this *DefaultDNSSource) Setup()

type EventFeedback

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

func (*EventFeedback) Deleted

func (this *EventFeedback) Deleted(logger logger.LogContext, dnsname string, msg string, state *DNSState)

func (*EventFeedback) Failed

func (this *EventFeedback) Failed(logger logger.LogContext, dnsname string, err error, state *DNSState)

func (*EventFeedback) Invalid

func (this *EventFeedback) Invalid(logger logger.LogContext, dnsname string, msg error, state *DNSState)

func (*EventFeedback) Pending

func (this *EventFeedback) Pending(logger logger.LogContext, dnsname, msg string, state *DNSState)

func (*EventFeedback) Ready

func (this *EventFeedback) Ready(logger logger.LogContext, dnsname, msg string, state *DNSState)

func (*EventFeedback) Succeeded

func (this *EventFeedback) Succeeded(logger logger.LogContext)

type Events

type Events struct {
	Events map[resources.ClusterObjectKey]map[string]string
	// contains filtered or unexported fields
}

func NewEvents

func NewEvents() *Events

func (*Events) Delete

func (this *Events) Delete(logger logger.LogContext, obj resources.Object) reconcile.Status

func (*Events) Deleted

func (this *Events) Deleted(logger logger.LogContext, key resources.ClusterObjectKey)

func (*Events) GetEvents

func (this *Events) GetEvents(key resources.ClusterObjectKey) map[string]string

func (*Events) HasEvents

func (this *Events) HasEvents(key resources.ClusterObjectKey) bool

Jump to

Keyboard shortcuts

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