kubelatte-ce
Форк от sbertech/kubelatte-ce
78 строк · 2.1 Кб
1package leader
2
3import (
4"context"
5"gitverse.ru/synapse/kubelatte/pkg/observability/logger"
6"gitverse.ru/synapse/kubelatte/pkg/operator/utils"
7"gitverse.ru/synapse/kubelatte/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 refactor
51
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