github.com/argoproj/argo-cd/v3@v3.2.1/cmd/argocd/commands/initialize/cmd.go (about) 1 package initialize 2 3 import ( 4 "github.com/spf13/cobra" 5 "github.com/spf13/pflag" 6 7 "github.com/argoproj/argo-cd/v3/util/cli" 8 ) 9 10 func RetrieveContextIfChanged(contextFlag *pflag.Flag) string { 11 if contextFlag != nil && contextFlag.Changed { 12 return contextFlag.Value.String() 13 } 14 return "" 15 } 16 17 // InitCommand allows executing command in a headless mode: on the fly starts Argo CD API server and 18 // changes provided client options to use started API server port 19 func InitCommand(cmd *cobra.Command) *cobra.Command { 20 flags := pflag.NewFlagSet("tmp", pflag.ContinueOnError) 21 cli.AddKubectlFlagsToSet(flags) 22 // copy k8s persistent flags into argocd command flags 23 flags.VisitAll(func(flag *pflag.Flag) { 24 // skip Kubernetes server flags since argocd has it's own server flag 25 if flag.Name == "server" { 26 return 27 } 28 cmd.Flags().AddFlag(flag) 29 }) 30 return cmd 31 }