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  }