internal

package
v0.19.1 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type EventHandler

type EventHandler[object client.Object, request comparable] struct {
	// contains filtered or unexported fields
}

EventHandler adapts a handler.EventHandler interface to a cache.ResourceEventHandler interface.

func NewEventHandler

func NewEventHandler[object client.Object, request comparable](
	ctx context.Context,
	queue workqueue.TypedRateLimitingInterface[request],
	handler handler.TypedEventHandler[object, request],
	predicates []predicate.TypedPredicate[object]) *EventHandler[object, request]

NewEventHandler creates a new EventHandler.

func (*EventHandler[object, request]) HandlerFuncs

func (e *EventHandler[object, request]) HandlerFuncs() cache.ResourceEventHandlerFuncs

HandlerFuncs converts EventHandler to a ResourceEventHandlerFuncs TODO: switch to ResourceEventHandlerDetailedFuncs with client-go 1.27

func (*EventHandler[object, request]) OnAdd

func (e *EventHandler[object, request]) OnAdd(obj interface{})

OnAdd creates CreateEvent and calls Create on EventHandler.

func (*EventHandler[object, request]) OnDelete

func (e *EventHandler[object, request]) OnDelete(obj interface{})

OnDelete creates DeleteEvent and calls Delete on EventHandler.

func (*EventHandler[object, request]) OnUpdate

func (e *EventHandler[object, request]) OnUpdate(oldObj, newObj interface{})

OnUpdate creates UpdateEvent and calls Update on EventHandler.

type Kind

type Kind[object client.Object, request comparable] struct {
	// Type is the type of object to watch.  e.g. &v1.Pod{}
	Type object

	// Cache used to watch APIs
	Cache cache.Cache

	Handler handler.TypedEventHandler[object, request]

	Predicates []predicate.TypedPredicate[object]
	// contains filtered or unexported fields
}

Kind is used to provide a source of events originating inside the cluster from Watches (e.g. Pod Create).

func (*Kind[object, request]) Start

func (ks *Kind[object, request]) Start(ctx context.Context, queue workqueue.TypedRateLimitingInterface[request]) error

Start is internal and should be called only by the Controller to register an EventHandler with the Informer to enqueue reconcile.Requests.

func (*Kind[object, request]) String

func (ks *Kind[object, request]) String() string

func (*Kind[object, request]) WaitForSync

func (ks *Kind[object, request]) WaitForSync(ctx context.Context) error

WaitForSync implements SyncingSource to allow controllers to wait with starting workers until the cache is synced.

Jump to

Keyboard shortcuts

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