layer1: bootstrap builder namespace manager

This commit is contained in:
Naeel
2026-04-26 10:35:09 +03:00
parent dd7470922c
commit 65837610a1
2 changed files with 19 additions and 1 deletions
@@ -0,0 +1,15 @@
# 2026-04-26 — NamespaceManager rewrite, step 30
## Цель шага
Закрыть startup gap в `buildermgr`: manager должен отражать и существующие namespace-ы, а не только новые события watcher-а.
## Что меняем
1. `buildermgr.StartNSWatcher()` создаёт пустой `NamespaceManager`.
2. После `Subscribe()` выполняется `BootstrapAndDispatch()` по текущему snapshot resolver-а.
## Что НЕ меняем
- не меняем low-level registration helper;
- не меняем remove path.
+4 -1
View File
@@ -30,8 +30,11 @@ func StartNSWatcher(
pkgw *packageWatcher,
mgr manager.Interface,
) {
nsManager := utils.NewBootstrappedNamespaceManager(utils.DefaultNSResolver(), utils.NamespaceSourceEnv, time.Now().UTC())
nsManager := utils.NewNamespaceManager()
nsManager.Subscribe(NewNamespaceSubscriber(envw, pkgw, mgr))
if _, err := nsManager.BootstrapAndDispatch(ctx, utils.DefaultNSResolver().Snapshot(), utils.NamespaceSourceEnv, time.Now().UTC()); err != nil {
logger.Error("buildermgr.NSWatcher: BootstrapAndDispatch failed", zap.Error(err))
}
factory := k8sInformers.NewSharedInformerFactoryWithOptions(
kubeClient,