layer1: track namespace removals in manager

This commit is contained in:
Naeel
2026-04-26 10:39:59 +03:00
parent b6f3640bbe
commit 447133d5b2
4 changed files with 82 additions and 5 deletions
+22 -2
View File
@@ -58,9 +58,20 @@ func StartNSWatcher(
zap.String("namespace", nsObj.Name), zap.Error(err))
}
},
UpdateFunc: func(_, newObj interface{}) {
UpdateFunc: func(oldObj, newObj interface{}) {
nsObj, ok := newObj.(*corev1.Namespace)
if !ok || !utils.IsManagedNamespace(nsObj.Labels) {
if !ok {
return
}
oldNSObj, _ := oldObj.(*corev1.Namespace)
if oldNSObj != nil && utils.IsManagedNamespace(oldNSObj.Labels) && !utils.IsManagedNamespace(nsObj.Labels) {
event := utils.NamespaceEventFromNamespace(utils.NamespaceEventRemove, nsObj, utils.NamespaceSourceWatcher, time.Now().UTC())
nsManager.Upsert(event)
logger.Info("buildermgr.NSWatcher: namespace removed from manager state; runtime registrations kept",
zap.String("namespace", nsObj.Name))
return
}
if !utils.IsManagedNamespace(nsObj.Labels) {
return
}
nsManager.Upsert(utils.NamespaceEventFromNamespace(utils.NamespaceEventUpdate, nsObj, utils.NamespaceSourceWatcher, time.Now().UTC()))
@@ -69,6 +80,15 @@ func StartNSWatcher(
zap.String("namespace", nsObj.Name), zap.Error(err))
}
},
DeleteFunc: func(obj interface{}) {
event := utils.NamespaceEventFromObject(utils.NamespaceEventRemove, obj, utils.NamespaceSourceWatcher, time.Now().UTC())
if event.Name == "" {
return
}
nsManager.Upsert(event)
logger.Info("buildermgr.NSWatcher: namespace deleted from manager state; runtime registrations kept",
zap.String("namespace", event.Name))
},
})
mgr.Add(ctx, func(ctx context.Context) {