func WatchEvents()

in pkg/k8s/event.go [62:79]


func WatchEvents(_ context.Context, ns string) (*EventWatcher, error) {
	config, err := GetConfig()
	if err != nil {
		return nil, err
	}
	client := kubernetes.NewForConfigOrDie(config)
	factory := informers.NewSharedInformerFactoryWithOptions(client, 0, informers.WithNamespace(ns))
	informer := factory.Core().V1().Events().Informer()

	watcher := &EventWatcher{
		informer: informer,
		Events:   make(chan *v1.Event),
	}

	informer.AddEventHandler(watcher)

	return watcher, nil
}