controllers

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultRateLimiter

func DefaultRateLimiter() workqueue.RateLimiter

DefaultRateLimiter returns a workqueue rate limiter with a starting value of 2 seconds opposed to controller-runtime's default one of 1 millisecond

func HasControllerReferenceByObjectReference

func HasControllerReferenceByObjectReference(obj metav1.Object, ref *corev1.ObjectReference, controller bool) bool

HasControllerReferenceByObjectReference has controller owner reference

func RateLimiterCtx

func RateLimiterCtx(ctx context.Context) workqueue.RateLimiter

RateLimiterCtx retrieves a RateLimiter from context. Returns nil if none

func ReconcileRequestCtx

func ReconcileRequestCtx(ctx context.Context) ctrl.Request

ReconcileRequestCtx retrieves a Request key from context returns an empty object if none

func WithRateLimiter

func WithRateLimiter(ctx context.Context, rl workqueue.RateLimiter) context.Context

WithRateLimiter stores a RateLimiter into context

func WithReconcileRequest

func WithReconcileRequest(ctx context.Context, key ctrl.Request) context.Context

WithReconcileRequest stores a Request key into context

Types

type Interface

type Interface interface {
	Name() string
	Setup(context.Context, manager.Manager, *zap.SugaredLogger) error
}

Interface is a basic interface that every reconciler should implement to create a new controller and startup in the controller manager

type LazyLoader

type LazyLoader interface {
	LazyLoad(context.Context, manager.Manager, *zap.SugaredLogger, SetupChecker) error
	Start(context.Context) error
}

LazyLoader loads whenever dependencies are ready

func NewLazyLoader

func NewLazyLoader(ctx context.Context, interval time.Duration) LazyLoader

NewLazyLoader constructs new LazyLoader for controllers

type SetupChecker

type SetupChecker interface {
	Interface
	CheckSetup(context.Context, manager.Manager, *zap.SugaredLogger) error
}

SetupChecker controllers with dependencies on other resources will need to implement this interface to allow lazy loading

Jump to

Keyboard shortcuts

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