layer1: add builder namespace subscriber step 20

This commit is contained in:
Naeel
2026-04-26 10:26:13 +03:00
parent bcf34d6b1a
commit 126f7cc51c
3 changed files with 117 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
package buildermgr
package buildermgr
import (
"context"
"github.com/fission/fission/pkg/utils"
"github.com/fission/fission/pkg/utils/manager"
)
type builderEnvNamespaceAdder interface {
AddNamespace(ctx context.Context, ns string, mgr manager.Interface)
}
type builderPkgNamespaceAdder interface {
AddNamespace(ctx context.Context, ns string, mgr manager.Interface)
}
func NewNamespaceSubscriber(envw builderEnvNamespaceAdder, pkgw builderPkgNamespaceAdder, mgr manager.Interface) utils.NamespaceSubscriber {
return utils.NamespaceSubscriberFuncs{
SubscriberName: "buildermgr",
AddFunc: func(ctx context.Context, record utils.NamespaceRecord) error {
registerBuilderNamespace(ctx, record.Name, envw, pkgw, mgr)
return nil
},
ResyncFunc: func(ctx context.Context, record utils.NamespaceRecord) error {
registerBuilderNamespace(ctx, record.Name, envw, pkgw, mgr)
return nil
},
}
}
func registerBuilderNamespace(ctx context.Context, namespace string, envw builderEnvNamespaceAdder, pkgw builderPkgNamespaceAdder, mgr manager.Interface) {
if namespace == "" {
return
}
utils.DefaultNSResolver().AddNamespace(namespace)
if envw != nil {
envw.AddNamespace(ctx, namespace, mgr)
}
if pkgw != nil {
pkgw.AddNamespace(ctx, namespace, mgr)
}
}