watcher

package
v0.2.121 Latest Latest
Warning

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

Go to latest
Published: Jan 1, 2026 License: Apache-2.0 Imports: 48 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMissingWLID          = fmt.Errorf("missing WLID")
	ErrMissingSlug          = fmt.Errorf("missing slug")
	ErrMissingImageTag      = fmt.Errorf("missing image ID")
	ErrMissingImageID       = fmt.Errorf("missing image tag")
	ErrMissingInstanceID    = fmt.Errorf("missing instanceID")
	ErrMissingContainerName = fmt.Errorf("missing container name")
	ErrUnsupportedObject    = errors.New("unsupported object type")
)

Functions

func ConvertUnstructuredToOperatorCommand added in v0.2.40

func ConvertUnstructuredToOperatorCommand(un *unstructured.Unstructured) (*v1alpha1.OperatorCommand, error)

Types

type CommandWatchHandler added in v0.2.40

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

func NewCommandWatchHandler added in v0.2.40

func NewCommandWatchHandler(k8sAPI *k8sinterface.KubernetesApi, config config.IConfig) *CommandWatchHandler

func (*CommandWatchHandler) AddHandler added in v0.2.40

func (cwh *CommandWatchHandler) AddHandler(obj runtime.Object)

func (*CommandWatchHandler) CommandWatch added in v0.2.40

func (cwh *CommandWatchHandler) CommandWatch(ctx context.Context)

func (*CommandWatchHandler) RegisterForCommands added in v0.2.40

func (cwh *CommandWatchHandler) RegisterForCommands(receiver chan v1alpha1.OperatorCommand)

type CooldownQueue added in v0.2.4

type CooldownQueue struct {
	ResultChan <-chan watch.Event
	// contains filtered or unexported fields
}

CooldownQueue is a queue that lets clients put events into it with a cooldown

When a client puts an event into a queue, it waits for a cooldown period before the event is forwarded to the consumer. If an event for the same key is put into the queue again before the cooldown period is over, the event is overridden and the cooldown period is reset.

func NewCooldownQueue added in v0.2.4

func NewCooldownQueue() *CooldownQueue

NewCooldownQueue returns a new Cooldown Queue

func NewCooldownQueueWithParams added in v0.2.63

func NewCooldownQueueWithParams(expiration, interval time.Duration) *CooldownQueue

func (*CooldownQueue) Closed added in v0.2.4

func (q *CooldownQueue) Closed() bool

func (*CooldownQueue) Enqueue added in v0.2.4

func (q *CooldownQueue) Enqueue(e watch.Event)

Enqueue enqueues an event in the Cooldown Queue

func (*CooldownQueue) Stop added in v0.2.4

func (q *CooldownQueue) Stop()

type OperatorCommandsHandler added in v0.2.63

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

func NewOperatorCommandsHandler added in v0.2.63

func NewOperatorCommandsHandler(ctx context.Context, pool *ants.PoolWithFunc, k8sAPI *k8sinterface.KubernetesApi, commandsWatcher *CommandWatchHandler, config config.IConfig) *OperatorCommandsHandler

func (*OperatorCommandsHandler) Start added in v0.2.63

func (ch *OperatorCommandsHandler) Start()

type RegistryCommandsHandler added in v0.2.40

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

func NewRegistryCommandsHandler added in v0.2.40

func NewRegistryCommandsHandler(ctx context.Context, k8sAPI *k8sinterface.KubernetesApi, commandsWatcher *CommandWatchHandler, config config.IConfig) *RegistryCommandsHandler

func (*RegistryCommandsHandler) Start added in v0.2.40

func (ch *RegistryCommandsHandler) Start()

type WatchHandler

type WatchHandler struct {
	ImageToContainerData maps.SafeMap[string, utils.ContainerData] // map of <hash> : <container data>
	SlugToImageID        maps.SafeMap[string, string]              // map of <Slug> : string <image ID>
	WlidAndImageID       mapset.Set[string]                        // set of <wlid+imageID>
	// contains filtered or unexported fields
}

func NewWatchHandler

func NewWatchHandler(cfg config.IConfig, k8sAPI *k8sinterface.KubernetesApi, storageClient kssc.Interface, eventQueue *CooldownQueue) *WatchHandler

NewWatchHandler creates a new WatchHandler, initializes the maps and returns it

func (*WatchHandler) ContainerProfileWatch added in v0.2.109

func (wh *WatchHandler) ContainerProfileWatch(ctx context.Context, workerPool *ants.PoolWithFunc)

ContainerProfileWatch watches and processes changes on ContainerProfile resources

func (*WatchHandler) HandleContainerProfileEvents added in v0.2.109

func (wh *WatchHandler) HandleContainerProfileEvents(eventQueue *CooldownQueue, producedCommands chan<- *apis.Command, errorCh chan<- error)

func (*WatchHandler) HandleSBOMEvents

func (wh *WatchHandler) HandleSBOMEvents(eventQueue *CooldownQueue, producedCommands chan<- *apis.Command, errorCh chan<- error)

func (*WatchHandler) PodWatch

func (wh *WatchHandler) PodWatch(ctx context.Context, workerPool *ants.PoolWithFunc)

func (*WatchHandler) SBOMWatch

func (wh *WatchHandler) SBOMWatch(ctx context.Context, workerPool *ants.PoolWithFunc)

SBOMWatch watches and processes changes on SBOMs

Jump to

Keyboard shortcuts

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