layer1: bootstrap router namespace manager
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
# 2026-04-26 — NamespaceManager rewrite, step 31
|
||||
|
||||
## Цель шага
|
||||
|
||||
Закрыть startup gap в `router`: локальный manager должен отражать существующие namespace-ы уже на старте.
|
||||
|
||||
## Что меняем
|
||||
|
||||
1. `router.StartNSWatcher()` создаёт пустой `NamespaceManager`.
|
||||
2. После `Subscribe()` выполняется `BootstrapAndDispatch()` по snapshot resolver-а.
|
||||
|
||||
## Что НЕ меняем
|
||||
|
||||
- не меняем `HTTPTriggerSet.AddNamespace()`;
|
||||
- не добавляем remove path.
|
||||
@@ -30,8 +30,11 @@ func StartNSWatcher(
|
||||
ts *HTTPTriggerSet,
|
||||
mgr manager.Interface,
|
||||
) {
|
||||
nsManager := utils.NewBootstrappedNamespaceManager(utils.DefaultNSResolver(), utils.NamespaceSourceEnv, time.Now().UTC())
|
||||
nsManager := utils.NewNamespaceManager()
|
||||
nsManager.Subscribe(NewNamespaceSubscriber(ts, mgr))
|
||||
if _, err := nsManager.BootstrapAndDispatch(ctx, utils.DefaultNSResolver().Snapshot(), utils.NamespaceSourceEnv, time.Now().UTC()); err != nil {
|
||||
logger.Error("router.NSWatcher: BootstrapAndDispatch failed", zap.Error(err))
|
||||
}
|
||||
|
||||
factory := k8sInformers.NewSharedInformerFactoryWithOptions(
|
||||
kubeClient,
|
||||
|
||||
Reference in New Issue
Block a user