layer1: share managed namespace watcher startup

This commit is contained in:
Naeel
2026-04-26 10:51:31 +03:00
parent 49be1db3a0
commit a1517ba4b2
5 changed files with 49 additions and 80 deletions
+1 -26
View File
@@ -10,11 +10,7 @@ import (
"time"
"go.uber.org/zap"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
k8sInformers "k8s.io/client-go/informers"
"k8s.io/client-go/kubernetes"
k8sCache "k8s.io/client-go/tools/cache"
"github.com/fission/fission/pkg/utils"
"github.com/fission/fission/pkg/utils/manager"
@@ -34,26 +30,5 @@ func StartNSWatcher(
if err != nil {
logger.Error("buildermgr.NSWatcher: BootstrapAndDispatch failed", zap.Error(err))
}
factory := k8sInformers.NewSharedInformerFactoryWithOptions(
kubeClient,
30*time.Minute,
k8sInformers.WithTweakListOptions(func(opts *metav1.ListOptions) {
opts.LabelSelector = utils.ManagedNamespaceLabelSelector()
}),
)
nsInformer := factory.Core().V1().Namespaces().Informer()
_, _ = nsInformer.AddEventHandler(utils.NewNamespaceWatcherEventHandlers(ctx, logger, "buildermgr.NSWatcher", nsManager, utils.NamespaceRemovalStrategyTrackOnly))
mgr.Add(ctx, func(ctx context.Context) {
logger.Info("buildermgr.NSWatcher: started",
zap.String("label", utils.ManagedNamespaceLabelSelector()))
factory.Start(ctx.Done())
factory.WaitForCacheSync(ctx.Done())
logger.Info("buildermgr.NSWatcher: cache synced — watching for new namespaces")
<-ctx.Done()
logger.Info("buildermgr.NSWatcher: stopped")
})
utils.StartManagedNamespaceWatcher(ctx, logger, "buildermgr.NSWatcher", kubeClient, mgr, utils.NewNamespaceWatcherEventHandlers(ctx, logger, "buildermgr.NSWatcher", nsManager, utils.NamespaceRemovalStrategyTrackOnly))
}