event

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2022 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidType = fmt.Errorf("invalid type")
)

Functions

func InvolvedFilter

func InvolvedFilter(kind, ns, name string) filter.ComparableFilter

func InvolvedObjectFilter

func InvolvedObjectFilter(obj Object) filter.ComparableFilter

func NewClient

func NewClient(cs kubernetes.Interface, ns string) client.Client

func NewMonitor

func NewMonitor(publisher Publisher, handler Handler) (kcache.Monitor, error)

Types

type BaseHandler

type BaseHandler interface {
	OnCreate(*corev1.Event)
	OnUpdate(*corev1.Event)
	OnDelete(*corev1.Event)
}

type CacheController

type CacheController interface {
	Cache() CacheReader
	Ready() <-chan struct{}
}

type CacheReader

type CacheReader interface {
	Get(ns string, name string) (*corev1.Event, error)
	List() ([]*corev1.Event, error)
}

type Controller

type Controller interface {
	CacheController
	Publisher
	Done() <-chan struct{}
	Close()
	Error() error
}

func BuildController

func BuildController(ctx context.Context, log logutil.Log, client client.Client) (Controller, error)

func NewController

func NewController(ctx context.Context, log logutil.Log, cs kubernetes.Interface, ns string) (Controller, error)

type Event

type Event interface {
	Type() kcache.EventType
	Resource() *corev1.Event
}

type FilterController

type FilterController interface {
	Controller
	Refilter(filter.Filter) error
}

type FilterSubscription

type FilterSubscription interface {
	Subscription
	Refilter(filter.Filter) error
}

type Handler

type Handler interface {
	BaseHandler
	OnInitialize([]*corev1.Event)
}

func ToUnitary

func ToUnitary(log logutil.Log, delegate UnitaryHandler) Handler

type HandlerBuilder

type HandlerBuilder interface {
	OnInitialize(func([]*corev1.Event)) HandlerBuilder
	OnCreate(func(*corev1.Event)) HandlerBuilder
	OnUpdate(func(*corev1.Event)) HandlerBuilder
	OnDelete(func(*corev1.Event)) HandlerBuilder
	Create() Handler
}

func BuildHandler

func BuildHandler() HandlerBuilder

type Object

type Object interface {
	GetObjectKind() schema.ObjectKind
	GetNamespace() string
	GetName() string
}

type Publisher

type Publisher interface {
	Subscribe() (Subscription, error)
	SubscribeWithFilter(filter.Filter) (FilterSubscription, error)
	SubscribeForFilter() (FilterSubscription, error)
	Clone() (Controller, error)
	CloneWithFilter(filter.Filter) (FilterController, error)
	CloneForFilter() (FilterController, error)
}

type Subscription

type Subscription interface {
	CacheController
	Events() <-chan Event
	Close()
	Done() <-chan struct{}
}

type UnitaryHandler

type UnitaryHandler interface {
	BaseHandler
	OnInitialize(*corev1.Event)
}

type UnitaryHandlerBuilder

type UnitaryHandlerBuilder interface {
	OnInitialize(func(*corev1.Event)) UnitaryHandlerBuilder
	OnCreate(func(*corev1.Event)) UnitaryHandlerBuilder
	OnUpdate(func(*corev1.Event)) UnitaryHandlerBuilder
	OnDelete(func(*corev1.Event)) UnitaryHandlerBuilder
	Create() UnitaryHandler
}

func BuildUnitaryHandler

func BuildUnitaryHandler() UnitaryHandlerBuilder

Jump to

Keyboard shortcuts

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