func DefaultClientConfig(flags *pflag.FlagSet) clientcmd.ClientConfig { loadingRules := config.NewOpenShiftClientConfigLoadingRules() flags.StringVar(&loadingRules.ExplicitPath, config.OpenShiftConfigFlagName, "", "Path to the config file to use for CLI requests.") overrides := &clientcmd.ConfigOverrides{} overrideFlags := clientcmd.RecommendedConfigOverrideFlags("") overrideFlags.ContextOverrideFlags.Namespace.ShortName = "n" overrideFlags.AuthOverrideFlags.Username.LongName = "" overrideFlags.AuthOverrideFlags.Password.LongName = "" clientcmd.BindOverrideFlags(overrides, flags, overrideFlags) clientConfig := clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, overrides) return clientConfig }
func NewCmdConfig(parentName, name string) *cobra.Command { pathOptions := &config.PathOptions{ GlobalFile: cmdconfig.RecommendedHomeFile, EnvVar: cmdconfig.OpenShiftConfigPathEnvVar, ExplicitFileFlag: cmdconfig.OpenShiftConfigFlagName, GlobalFileSubpath: cmdconfig.OpenShiftConfigHomeDirFileName, LoadingRules: cmdconfig.NewOpenShiftClientConfigLoadingRules(), } pathOptions.LoadingRules.DoNotResolvePaths = true cmd := config.NewCmdConfig(pathOptions, os.Stdout) cmd.Short = "Change configuration files for the client" cmd.Long = configLong cmd.Example = fmt.Sprintf(configExample, parentName, name) return cmd }