@@ -27,6 +27,7 @@ import (
2727 // Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
2828 // to ensure that exec-entrypoint and run can make use of them.
2929 "go.uber.org/zap/zapcore"
30+ "k8s.io/client-go/kubernetes"
3031 _ "k8s.io/client-go/plugin/pkg/client/auth"
3132
3233 rolloutManagerApi "github.com/argoproj-labs/argo-rollouts-manager/api/v1alpha1"
@@ -47,10 +48,10 @@ import (
4748 monitoringv1 "github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1"
4849 crdv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
4950 "k8s.io/apimachinery/pkg/labels"
50-
5151 utilruntime "k8s.io/apimachinery/pkg/util/runtime"
5252 clientgoscheme "k8s.io/client-go/kubernetes/scheme"
5353 ctrl "sigs.k8s.io/controller-runtime"
54+ "sigs.k8s.io/controller-runtime/pkg/client/config"
5455 controllerconfig "sigs.k8s.io/controller-runtime/pkg/config"
5556 "sigs.k8s.io/controller-runtime/pkg/healthz"
5657 "sigs.k8s.io/controller-runtime/pkg/log/zap"
@@ -214,10 +215,17 @@ func main() {
214215 }
215216 setupLog .Info (fmt .Sprintf ("Watching label-selector \" %s\" " , labelSelectorFlag ))
216217
218+ k8sClient , err := initK8sClient ()
219+ if err != nil {
220+ setupLog .Error (err , "Failed to initialize Kubernetes client" )
221+ os .Exit (1 )
222+ }
223+
217224 if err = (& argocdprovisioner.ReconcileArgoCD {
218225 Client : mgr .GetClient (),
219226 Scheme : mgr .GetScheme (),
220227 LabelSelector : labelSelectorFlag ,
228+ K8sClient : k8sClient ,
221229 }).SetupWithManager (mgr ); err != nil {
222230 setupLog .Error (err , "unable to create controller" , "controller" , "Argo CD" )
223231 os .Exit (1 )
@@ -300,3 +308,19 @@ func registerComponentOrExit(mgr manager.Manager, f func(*k8sruntime.Scheme) err
300308 }
301309 setupLog .Info (fmt .Sprintf ("Component registered: %v" , reflect .ValueOf (f )))
302310}
311+
312+ func initK8sClient () (* kubernetes.Clientset , error ) {
313+ cfg , err := config .GetConfig ()
314+ if err != nil {
315+ setupLog .Error (err , "unable to get k8s config" )
316+ return nil , err
317+ }
318+
319+ k8sClient , err := kubernetes .NewForConfig (cfg )
320+ if err != nil {
321+ setupLog .Error (err , "unable to create k8s client" )
322+ return nil , err
323+ }
324+
325+ return k8sClient , nil
326+ }
0 commit comments