layer1: share namespace watcher event handlers

This commit is contained in:
Naeel
2026-04-26 10:50:28 +03:00
parent c3b161da83
commit 49be1db3a0
6 changed files with 65 additions and 57 deletions
+1 -21
View File
@@ -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()))