utils

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2024 License: Apache-2.0, BSD-3-Clause, MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DNSEntryType = (*api.DNSEntry)(nil)
View Source
var DNSHostedZonePolicyType = (*api.DNSHostedZonePolicy)(nil)
View Source
var DNSLockType = (*api.DNSLock)(nil)
View Source
var DNSOwnerType = (*api.DNSOwner)(nil)
View Source
var DNSProviderType = (*api.DNSProvider)(nil)

Functions

func CheckDNSActivation added in v0.11.0

func CheckDNSActivation(clusterid string, activation *api.DNSActivation) bool

func DNSProviderKey

func DNSProviderKey(namespace, name string) resources.ObjectKey

func DNSSetName added in v0.18.0

func DNSSetName(entry *api.DNSEntry) dns.DNSSetName

func DNSSetNameMatcher added in v0.13.0

func DNSSetNameMatcher(name dns.DNSSetName) resources.ObjectMatcher

func GetDNSName added in v0.18.0

func GetDNSName(entry *api.DNSEntry) string

func Match

func Match(hostname, domain string) bool

func MatchSet

func MatchSet(hostname string, domains utils.StringSet) int

func ProcessElements

func ProcessElements(elems Elements, exec Executor, processors int) error

func SetLastUpdateTime added in v0.7.21

func SetLastUpdateTime(lastUptimeTime **metav1.Time)

SetLastUpdateTime sets the time wrapper to the current UTC time.

Types

type DNSEntryObject

type DNSEntryObject struct {
	resources.Object
}

func DNSEntry

func DNSEntry(o resources.Object) *DNSEntryObject

func (*DNSEntryObject) AcknowledgeRoutingPolicy added in v0.13.0

func (this *DNSEntryObject) AcknowledgeRoutingPolicy(policy *dns.RoutingPolicy) bool

func (*DNSEntryObject) AcknowledgeTargets added in v0.11.0

func (this *DNSEntryObject) AcknowledgeTargets(targets []string) bool

func (*DNSEntryObject) BaseStatus added in v0.11.0

func (this *DNSEntryObject) BaseStatus() *api.DNSBaseStatus

func (*DNSEntryObject) DNSEntry

func (this *DNSEntryObject) DNSEntry() *api.DNSEntry

func (*DNSEntryObject) DNSSetName added in v0.13.0

func (this *DNSEntryObject) DNSSetName() dns.DNSSetName

func (*DNSEntryObject) GetCNameLookupInterval

func (this *DNSEntryObject) GetCNameLookupInterval() *int64

func (*DNSEntryObject) GetDNSName

func (this *DNSEntryObject) GetDNSName() string

func (*DNSEntryObject) GetOwnerId

func (this *DNSEntryObject) GetOwnerId() *string

func (*DNSEntryObject) GetReference added in v0.11.0

func (this *DNSEntryObject) GetReference() *api.EntryReference

func (*DNSEntryObject) GetRoutingPolicy added in v0.13.0

func (this *DNSEntryObject) GetRoutingPolicy() *dns.RoutingPolicy

func (*DNSEntryObject) GetSetIdentifier added in v0.13.0

func (this *DNSEntryObject) GetSetIdentifier() string

func (*DNSEntryObject) GetTTL

func (this *DNSEntryObject) GetTTL() *int64

func (*DNSEntryObject) GetTargetSpec added in v0.11.0

func (this *DNSEntryObject) GetTargetSpec(p TargetProvider) TargetSpec

func (*DNSEntryObject) GetTargets

func (this *DNSEntryObject) GetTargets() []string

func (*DNSEntryObject) GetText added in v0.11.0

func (this *DNSEntryObject) GetText() []string

func (*DNSEntryObject) RefreshTime added in v0.11.0

func (this *DNSEntryObject) RefreshTime() time.Time

func (*DNSEntryObject) Spec

func (this *DNSEntryObject) Spec() *api.DNSEntrySpec

func (*DNSEntryObject) Status

func (this *DNSEntryObject) Status() *api.DNSEntryStatus

func (*DNSEntryObject) StatusField added in v0.7.12

func (this *DNSEntryObject) StatusField() interface{}

func (*DNSEntryObject) ValidateSpecial added in v0.11.0

func (this *DNSEntryObject) ValidateSpecial() error

type DNSHostedZonePolicyObject added in v0.10.3

type DNSHostedZonePolicyObject struct {
	resources.Object
}

func DNSHostedZonePolicy added in v0.10.3

func DNSHostedZonePolicy(o resources.Object) *DNSHostedZonePolicyObject

func (*DNSHostedZonePolicyObject) DNSHostedZonePolicyObject added in v0.10.3

func (this *DNSHostedZonePolicyObject) DNSHostedZonePolicyObject() *api.DNSHostedZonePolicy

func (*DNSHostedZonePolicyObject) Spec added in v0.10.3

func (*DNSHostedZonePolicyObject) Status added in v0.10.3

type DNSLockObject added in v0.11.0

type DNSLockObject struct {
	resources.Object
}

func DNSLock added in v0.11.0

func DNSLock(o resources.Object) *DNSLockObject

func (*DNSLockObject) AcknowledgeRoutingPolicy added in v0.13.0

func (this *DNSLockObject) AcknowledgeRoutingPolicy(_ *dns.RoutingPolicy) bool

func (*DNSLockObject) AcknowledgeTargets added in v0.11.0

func (this *DNSLockObject) AcknowledgeTargets(_ []string) bool

func (*DNSLockObject) BaseStatus added in v0.11.0

func (this *DNSLockObject) BaseStatus() *api.DNSBaseStatus

func (*DNSLockObject) DNSLock added in v0.11.0

func (this *DNSLockObject) DNSLock() *api.DNSLock

func (*DNSLockObject) GetCNameLookupInterval added in v0.11.0

func (this *DNSLockObject) GetCNameLookupInterval() *int64

func (*DNSLockObject) GetDNSName added in v0.11.0

func (this *DNSLockObject) GetDNSName() string

func (*DNSLockObject) GetOwnerId added in v0.11.0

func (this *DNSLockObject) GetOwnerId() *string

func (*DNSLockObject) GetReference added in v0.11.0

func (this *DNSLockObject) GetReference() *api.EntryReference

func (*DNSLockObject) GetRoutingPolicy added in v0.13.0

func (this *DNSLockObject) GetRoutingPolicy() *dns.RoutingPolicy

func (*DNSLockObject) GetSetIdentifier added in v0.13.0

func (this *DNSLockObject) GetSetIdentifier() string

func (*DNSLockObject) GetTTL added in v0.11.0

func (this *DNSLockObject) GetTTL() *int64

func (*DNSLockObject) GetTargetSpec added in v0.11.0

func (this *DNSLockObject) GetTargetSpec(p TargetProvider) TargetSpec

func (*DNSLockObject) GetTargets added in v0.11.0

func (this *DNSLockObject) GetTargets() []string

func (*DNSLockObject) GetText added in v0.11.0

func (this *DNSLockObject) GetText() []string

func (*DNSLockObject) GetTimestamp added in v0.11.0

func (this *DNSLockObject) GetTimestamp() time.Time

func (*DNSLockObject) RefreshTime added in v0.11.0

func (this *DNSLockObject) RefreshTime() time.Time

func (*DNSLockObject) Spec added in v0.11.0

func (this *DNSLockObject) Spec() *api.DNSLockSpec

func (*DNSLockObject) Status added in v0.11.0

func (this *DNSLockObject) Status() *api.DNSLockStatus

func (*DNSLockObject) StatusField added in v0.11.0

func (this *DNSLockObject) StatusField() interface{}

func (*DNSLockObject) ValidateSpecial added in v0.11.0

func (this *DNSLockObject) ValidateSpecial() error

type DNSOwnerObject

type DNSOwnerObject struct {
	resources.Object
}

func DNSOwner

func DNSOwner(o resources.Object) *DNSOwnerObject

func (*DNSOwnerObject) DNSOwner

func (this *DNSOwnerObject) DNSOwner() *api.DNSOwner

func (*DNSOwnerObject) GetCount added in v0.7.12

func (this *DNSOwnerObject) GetCount() int

func (*DNSOwnerObject) GetCounts added in v0.7.12

func (this *DNSOwnerObject) GetCounts() map[string]int

func (*DNSOwnerObject) GetDNSActivation added in v0.11.0

func (this *DNSOwnerObject) GetDNSActivation() *api.DNSActivation

func (*DNSOwnerObject) GetOwnerId

func (this *DNSOwnerObject) GetOwnerId() string

func (*DNSOwnerObject) IsActive

func (this *DNSOwnerObject) IsActive() bool

func (*DNSOwnerObject) IsEnabled added in v0.10.3

func (this *DNSOwnerObject) IsEnabled() bool

func (*DNSOwnerObject) Spec

func (this *DNSOwnerObject) Spec() *api.DNSOwnerSpec

func (*DNSOwnerObject) Status added in v0.11.0

func (this *DNSOwnerObject) Status() *api.DNSOwnerStatus

func (*DNSOwnerObject) ValidUntil added in v0.10.3

func (this *DNSOwnerObject) ValidUntil() *metav1.Time

type DNSProviderObject

type DNSProviderObject struct {
	resources.Object
}

func DNSProvider

func DNSProvider(o resources.Object) *DNSProviderObject

func (*DNSProviderObject) DNSProvider

func (this *DNSProviderObject) DNSProvider() *api.DNSProvider

func (*DNSProviderObject) SetSelection

func (this *DNSProviderObject) SetSelection(included, excluded utils.StringSet, target *api.DNSSelectionStatus) bool

func (*DNSProviderObject) SetState

func (this *DNSProviderObject) SetState(state, message string, commonMessagePrefix ...string) bool

func (*DNSProviderObject) SetStateWithError added in v0.7.8

func (this *DNSProviderObject) SetStateWithError(_ string, err error) bool

func (*DNSProviderObject) Spec

func (this *DNSProviderObject) Spec() *api.DNSProviderSpec

func (*DNSProviderObject) Status

func (this *DNSProviderObject) Status() *api.DNSProviderStatus

func (*DNSProviderObject) StatusField added in v0.7.12

func (this *DNSProviderObject) StatusField() interface{}

func (*DNSProviderObject) TypeCode

func (this *DNSProviderObject) TypeCode() string

type DNSSpecification added in v0.11.0

type DNSSpecification interface {
	resources.Object
	GetDNSName() string
	GetSetIdentifier() string
	GetTTL() *int64
	GetOwnerId() *string
	GetTargets() []string
	GetText() []string
	GetCNameLookupInterval() *int64
	GetReference() *api.EntryReference
	BaseStatus() *api.DNSBaseStatus
	GetRoutingPolicy() *dns.RoutingPolicy

	GetTargetSpec(TargetProvider) TargetSpec

	RefreshTime() time.Time
	ValidateSpecial() error
	AcknowledgeTargets(targets []string) bool
	AcknowledgeRoutingPolicy(policy *dns.RoutingPolicy) bool
}

func DNSObject added in v0.11.0

func DNSObject(data resources.Object, _ ...any) DNSSpecification

type Elements

type Elements []resources.Object

type Executor

type Executor func(resources.Object) error

type LogMessage

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

func NewLogMessage

func NewLogMessage(msg string, args ...interface{}) *LogMessage

func (*LogMessage) Debugf

func (this *LogMessage) Debugf(logger logger.LogContext, add ...interface{}) bool

func (*LogMessage) Errorf

func (this *LogMessage) Errorf(logger logger.LogContext, add ...interface{}) bool

func (*LogMessage) Get

func (this *LogMessage) Get() string

func (*LogMessage) Infof

func (this *LogMessage) Infof(logger logger.LogContext, add ...interface{}) bool

func (*LogMessage) Warnf

func (this *LogMessage) Warnf(logger logger.LogContext, add ...interface{}) bool

type LookupTXTFunc added in v0.11.0

type LookupTXTFunc func(string) ([]string, error)

LookupTXTFunc is a type for looking up DNS TXT entries (or to mock it)

var DNSActivationLookupTXTFunc LookupTXTFunc = net.LookupTXT

DNSActivationLookupTXTFunc contains the actual LookupTXTFunc. (can be overwritten for test purposes)

type RateLimiter added in v0.7.9

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

func NewRateLimiter added in v0.7.9

func NewRateLimiter(min, max time.Duration) *RateLimiter

func (*RateLimiter) Failed added in v0.7.9

func (this *RateLimiter) Failed()

func (*RateLimiter) RateLimit added in v0.7.9

func (this *RateLimiter) RateLimit() time.Duration

func (*RateLimiter) Succeeded added in v0.7.9

func (this *RateLimiter) Succeeded()

type Schedule added in v0.10.3

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

func NewSchedule added in v0.10.3

func NewSchedule(ctx context.Context, exec ScheduleExecutor) *Schedule

func (*Schedule) Delete added in v0.10.3

func (this *Schedule) Delete(key ScheduleKey)

func (*Schedule) List added in v0.10.3

func (this *Schedule) List() []ScheduleKey

func (*Schedule) ListSchedule added in v0.10.3

func (this *Schedule) ListSchedule() []ScheduleEntry

func (*Schedule) Reset added in v0.10.3

func (this *Schedule) Reset()

func (*Schedule) Schedule added in v0.10.3

func (this *Schedule) Schedule(key ScheduleKey, due time.Time)

func (*Schedule) ScheduleAfter added in v0.10.3

func (this *Schedule) ScheduleAfter(key ScheduleKey, due time.Duration)

type ScheduleEntry added in v0.10.3

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

func (ScheduleEntry) Due added in v0.10.3

func (this ScheduleEntry) Due() time.Time

func (ScheduleEntry) Key added in v0.10.3

func (this ScheduleEntry) Key() ScheduleKey

func (ScheduleEntry) String added in v0.10.3

func (this ScheduleEntry) String() string

type ScheduleExecutor added in v0.10.3

type ScheduleExecutor interface {
	Execute(key ScheduleKey)
}

type ScheduleExecutorFunction added in v0.10.3

type ScheduleExecutorFunction func(key ScheduleKey)

func (ScheduleExecutorFunction) Execute added in v0.10.3

func (this ScheduleExecutorFunction) Execute(key ScheduleKey)

type ScheduleKey added in v0.10.3

type ScheduleKey interface{}

type Target added in v0.11.0

type Target interface {
	GetHostName() string
	GetRecordType() string
	GetTTL() int64
	AsRecord() *dns.Record
	GetIPStack() string
}

func NewTarget added in v0.11.0

func NewTarget(ty string, ta string, ttl int64) Target

func NewTargetWithIPStack added in v0.17.0

func NewTargetWithIPStack(ty string, ta string, ttl int64, ipstack string) Target

func NewText added in v0.11.0

func NewText(t string, ttl int64) Target

type TargetProvider added in v0.11.0

type TargetProvider interface {
	Targets() Targets
	TTL() int64
	OwnerId() string
	RoutingPolicy() *dns.RoutingPolicy
}

type TargetSpec added in v0.11.0

type TargetSpec interface {
	Kind() string
	OwnerId() string
	Targets() []Target
	RoutingPolicy() *dns.RoutingPolicy
	Responsible(set *dns.DNSSet, ownership dns.Ownership) bool
}

func BaseTargetSpec added in v0.11.0

func BaseTargetSpec(entry DNSSpecification, p TargetProvider) TargetSpec

type Targets added in v0.11.0

type Targets []Target

func (Targets) DifferFrom added in v0.11.0

func (this Targets) DifferFrom(targets Targets) bool

func (Targets) Has added in v0.11.0

func (this Targets) Has(target Target) bool

type Timer added in v0.10.3

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

func NewTimer added in v0.10.3

func NewTimer(ctx context.Context, exec func(*Timer)) *Timer

func (*Timer) Next added in v0.10.3

func (this *Timer) Next(d time.Duration)

func (*Timer) Stop added in v0.10.3

func (this *Timer) Stop()

type TryLock added in v0.10.7

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

TryLock is a lock supporting both `Lock` and `TryLock` by wrapping a weighted semaphore.

func NewTryLock added in v0.10.7

func NewTryLock(ctx ...context.Context) *TryLock

NewTryLock creates a lock based on a weighted semaphore.

func (*TryLock) Lock added in v0.10.7

func (l *TryLock) Lock() error

Lock acquires the lock blocking until resource is available

func (*TryLock) TryLock added in v0.10.7

func (l *TryLock) TryLock() bool

TryLock tries to acquire the resource and returns true if successful.

func (*TryLock) TryLockSpinning added in v0.10.7

func (l *TryLock) TryLockSpinning(spinTime time.Duration) bool

TryLockSpinning tries to acquire the resource for some time and returns true if successful.

func (*TryLock) Unlock added in v0.10.7

func (l *TryLock) Unlock()

Unlock releases the resource

Jump to

Keyboard shortcuts

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