32 lines
933 B
Go
32 lines
933 B
Go
package multitenant
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.uber.org/zap"
|
|
"k8s.io/client-go/kubernetes"
|
|
|
|
fv1 "github.com/fission/fission/pkg/apis/core/v1"
|
|
"github.com/fission/fission/pkg/executor/executortype"
|
|
"github.com/fission/fission/pkg/utils"
|
|
"github.com/fission/fission/pkg/utils/manager"
|
|
)
|
|
|
|
func NewNamespaceSubscriber(
|
|
logger *zap.Logger,
|
|
kubernetesClient kubernetes.Interface,
|
|
executorTypes map[fv1.ExecutorType]executortype.ExecutorType,
|
|
mgr manager.Interface,
|
|
) utils.NamespaceSubscriber {
|
|
return utils.NamespaceSubscriberFuncs{
|
|
SubscriberName: "executor",
|
|
AddFunc: func(ctx context.Context, record utils.NamespaceRecord) error {
|
|
registerNamespace(ctx, logger, kubernetesClient, record.Name, executorTypes, mgr)
|
|
return nil
|
|
},
|
|
ResyncFunc: func(ctx context.Context, record utils.NamespaceRecord) error {
|
|
registerNamespace(ctx, logger, kubernetesClient, record.Name, executorTypes, mgr)
|
|
return nil
|
|
},
|
|
}
|
|
} |