summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorAlexander Matyushentsev <Alexander_Matyushentsev@intuit.com>2021-01-22 10:58:40 -0800
committerGitHub <noreply@github.com>2021-01-22 19:58:40 +0100
commit74e9d3f6b0935914a9f10a3490d08a055f15fbf4 (patch)
tree331e2009ee421ecf13c87496da51bc5c6fc4fa3d /cmd
parentc0d7e1d1daa864f1f06917d75fee40ccc0b07687 (diff)
feat: Allow reuse of Argo CD repo credentials (#141)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Diffstat (limited to 'cmd')
-rw-r--r--cmd/main.go18
1 files changed, 12 insertions, 6 deletions
diff --git a/cmd/main.go b/cmd/main.go
index bce8f67..8b03708 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -253,7 +253,7 @@ argocd-image-updater test nginx --allow-tags '^1.19.\d+(\-.*)*$' --update-strate
var kubeClient *kube.KubernetesClient
var err error
if kubeConfig != "" {
- kubeClient, err = getKubeConfig(ctx, kubeConfig)
+ kubeClient, err = getKubeConfig(ctx, "", kubeConfig)
if err != nil {
log.Fatalf("could not create K8s client: %v", err)
}
@@ -406,10 +406,16 @@ func newRunCommand() *cobra.Command {
var err error
if !disableKubernetes {
ctx := context.Background()
- cfg.KubeClient, err = getKubeConfig(ctx, kubeConfig)
+ cfg.KubeClient, err = getKubeConfig(ctx, cfg.ArgocdNamespace, kubeConfig)
if err != nil {
log.Fatalf("could not create K8s client: %v", err)
}
+ if cfg.ClientOpts.ServerAddr == "" {
+ cfg.ClientOpts.ServerAddr = fmt.Sprintf("argocd-server.%s", cfg.KubeClient.Namespace)
+ }
+ }
+ if cfg.ClientOpts.ServerAddr == "" {
+ cfg.ClientOpts.ServerAddr = defaultArgoCDServerAddr
}
if token := os.Getenv("ARGOCD_TOKEN"); token != "" && cfg.ClientOpts.AuthToken == "" {
@@ -490,7 +496,7 @@ func newRunCommand() *cobra.Command {
},
}
- runCmd.Flags().StringVar(&cfg.ClientOpts.ServerAddr, "argocd-server-addr", env.GetStringVal("ARGOCD_SERVER", defaultArgoCDServerAddr), "address of ArgoCD API server")
+ runCmd.Flags().StringVar(&cfg.ClientOpts.ServerAddr, "argocd-server-addr", env.GetStringVal("ARGOCD_SERVER", ""), "address of ArgoCD API server")
runCmd.Flags().BoolVar(&cfg.ClientOpts.GRPCWeb, "argocd-grpc-web", env.GetBoolVal("ARGOCD_GRPC_WEB", false), "use grpc-web for connection to ArgoCD")
runCmd.Flags().BoolVar(&cfg.ClientOpts.Insecure, "argocd-insecure", env.GetBoolVal("ARGOCD_INSECURE", false), "(INSECURE) ignore invalid TLS certs for ArgoCD server")
runCmd.Flags().BoolVar(&cfg.ClientOpts.Plaintext, "argocd-plaintext", env.GetBoolVal("ARGOCD_PLAINTEXT", false), "(INSECURE) connect without TLS to ArgoCD server")
@@ -505,14 +511,14 @@ func newRunCommand() *cobra.Command {
runCmd.Flags().StringVar(&cfg.RegistriesConf, "registries-conf-path", defaultRegistriesConfPath, "path to registries configuration file")
runCmd.Flags().BoolVar(&disableKubernetes, "disable-kubernetes", false, "do not create and use a Kubernetes client")
runCmd.Flags().IntVar(&cfg.MaxConcurrency, "max-concurrency", 10, "maximum number of update threads to run concurrently")
- runCmd.Flags().StringVar(&cfg.ArgocdNamespace, "argocd-namespace", "argocd", "namespace where ArgoCD runs in")
+ runCmd.Flags().StringVar(&cfg.ArgocdNamespace, "argocd-namespace", "", "namespace where ArgoCD runs in (current namespace by default)")
runCmd.Flags().StringSliceVar(&cfg.AppNamePatterns, "match-application-name", nil, "patterns to match application name against")
runCmd.Flags().BoolVar(&warmUpCache, "warmup-cache", true, "whether to perform a cache warm-up on startup")
return runCmd
}
-func getKubeConfig(ctx context.Context, kubeConfig string) (*kube.KubernetesClient, error) {
+func getKubeConfig(ctx context.Context, namespace string, kubeConfig string) (*kube.KubernetesClient, error) {
var fullKubeConfigPath string
var kubeClient *kube.KubernetesClient
var err error
@@ -530,7 +536,7 @@ func getKubeConfig(ctx context.Context, kubeConfig string) (*kube.KubernetesClie
log.Debugf("Creating in-cluster Kubernetes client")
}
- kubeClient, err = kube.NewKubernetesClientFromConfig(ctx, fullKubeConfigPath)
+ kubeClient, err = kube.NewKubernetesClientFromConfig(ctx, namespace, fullKubeConfigPath)
if err != nil {
return nil, err
}