kubelatte-ce
Форк от sbertech/kubelatte-ce
78 строк · 2.1 Кб
1package leader2
3import (4"context"5"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/observability/logger"6"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/operator/utils"7"gitverse.ru/ktrntrsv/kubelatte-ce/pkg/util"8"os"9ctrl "sigs.k8s.io/controller-runtime"10"sigs.k8s.io/controller-runtime/pkg/webhook"11"time"12)
13
14func startReconciler(reconciler utils.ReconcilerInterface) {15log := logger.FromContext(context.Background())16if err := reconciler.SetupWithManager(Mgr); err != nil {17log.Fatalf("Unable to create reconciler: %s", err.Error())18os.Exit(1)19}20}
21
22func startNamespaceReconciler(ctx context.Context, reconciler utils.ReconcilerInterface) {23log := logger.FromContext(context.Background())24opt := ctrl.Options{25Logger: Mgr.GetLogger(),26Scheme: Mgr.GetScheme(),27WebhookServer: webhook.NewServer(webhook.Options{Port: 9444}),28MetricsBindAddress: "0",29}30
31clusterMgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), opt)32if err != nil {33log.Fatalf("Problem running namespace manager: %s", err.Error())34os.Exit(1)35}36
37startReconciler(reconciler)38
39go func() {40if err := clusterMgr.Start(ctx); err != nil {41log.Fatalf("Problem running namespace manager: %s", err.Error())42os.Exit(1)43}44log.Debug("Starting cluster namespace manager")45}()46}
47
48func startTriggerInstanceReconciler(ctx context.Context, reconciler utils.ReconcilerInterface) {49log := logger.FromContext(context.Background())50time.Sleep(time.Second * 5) // hack for order controller run, must refactor51
52if util.IsCreationInClusterMode() {53opt := ctrl.Options{54Logger: Mgr.GetLogger(),55Scheme: Mgr.GetScheme(),56WebhookServer: webhook.NewServer(webhook.Options{Port: 9442}),57MetricsBindAddress: "0",58}59
60clusterMgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), opt)61if err != nil {62log.Fatalf("Problem running ti manager: %s", err.Error())63os.Exit(1)64}65
66startReconciler(reconciler)67
68go func() {69if err := clusterMgr.Start(ctx); err != nil {70log.Fatalf("Problem running ti manager: %s", err.Error())71os.Exit(1)72}73log.Debug("Starting cluster ti manager")74}()75} else {76startReconciler(reconciler)77}78}
79