layer1: share namespace watcher event handlers
This commit is contained in:
@@ -110,27 +110,7 @@ func StartNSWatcher(
|
||||
|
||||
nsInformer := factory.Core().V1().Namespaces().Informer()
|
||||
|
||||
_, _ = nsInformer.AddEventHandler(k8sCache.ResourceEventHandlerFuncs{
|
||||
// AddFunc fires when a new Namespace with the label appears.
|
||||
AddFunc: func(obj interface{}) {
|
||||
nsObj, ok := obj.(*corev1.Namespace)
|
||||
if ok {
|
||||
utils.HandleWatcherNamespaceAdd(ctx, logger, "multitenant.NSWatcher", nsManager, nsObj)
|
||||
}
|
||||
},
|
||||
// UpdateFunc fires when an existing Namespace is updated — covers the case
|
||||
// where the label is added to a pre-existing Namespace.
|
||||
UpdateFunc: func(oldObj, newObj interface{}) {
|
||||
oldNSObj, _ := oldObj.(*corev1.Namespace)
|
||||
nsObj, ok := newObj.(*corev1.Namespace)
|
||||
if ok {
|
||||
utils.HandleWatcherNamespaceUpdate(ctx, logger, "multitenant.NSWatcher", nsManager, oldNSObj, nsObj, utils.NamespaceRemovalStrategyTrackOnly)
|
||||
}
|
||||
},
|
||||
DeleteFunc: func(obj interface{}) {
|
||||
utils.HandleWatcherNamespaceDelete(ctx, logger, "multitenant.NSWatcher", nsManager, obj, utils.NamespaceRemovalStrategyTrackOnly)
|
||||
},
|
||||
})
|
||||
_, _ = nsInformer.AddEventHandler(utils.NewNamespaceWatcherEventHandlers(ctx, logger, "multitenant.NSWatcher", nsManager, utils.NamespaceRemovalStrategyTrackOnly))
|
||||
|
||||
mgr.Add(ctx, func(ctx context.Context) {
|
||||
logger.Info("multitenant.NSWatcher: started", zap.String("label", utils.ManagedNamespaceLabelSelector()))
|
||||
|
||||
Reference in New Issue
Block a user