Documentation
¶
Index ¶
- Variables
- func ConvertUnstructuredToOperatorCommand(un *unstructured.Unstructured) (*v1alpha1.OperatorCommand, error)
- type CommandWatchHandler
- type CooldownQueue
- type OperatorCommandsHandler
- type RegistryCommandsHandler
- type WatchHandler
- func (wh *WatchHandler) ContainerProfileWatch(ctx context.Context, workerPool *ants.PoolWithFunc)
- func (wh *WatchHandler) HandleContainerProfileEvents(eventQueue *CooldownQueue, producedCommands chan<- *apis.Command, ...)
- func (wh *WatchHandler) HandleSBOMEvents(eventQueue *CooldownQueue, producedCommands chan<- *apis.Command, ...)
- func (wh *WatchHandler) PodWatch(ctx context.Context, workerPool *ants.PoolWithFunc)
- func (wh *WatchHandler) SBOMWatch(ctx context.Context, workerPool *ants.PoolWithFunc)
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
Click to show internal directories.
Click to hide internal directories.