// NewKubectlCommand creates the `kubectl` command and its nested children. func (f *Factory) NewKubectlCommand(out io.Writer) *cobra.Command { // Parent command to which all subcommands are added. cmds := &cobra.Command{ Use: "kubectl", Short: "kubectl controls the Kubernetes cluster manager", Long: `kubectl controls the Kubernetes cluster manager. Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`, Run: runHelp, } f.BindFlags(cmds.PersistentFlags()) cmds.AddCommand(f.NewCmdVersion(out)) cmds.AddCommand(f.NewCmdProxy(out)) cmds.AddCommand(f.NewCmdGet(out)) cmds.AddCommand(f.NewCmdDescribe(out)) cmds.AddCommand(f.NewCmdCreate(out)) cmds.AddCommand(f.NewCmdUpdate(out)) cmds.AddCommand(f.NewCmdDelete(out)) cmds.AddCommand(cmdconfig.NewCmdConfig(out)) cmds.AddCommand(NewCmdNamespace(out)) cmds.AddCommand(f.NewCmdLog(out)) cmds.AddCommand(f.NewCmdRollingUpdate(out)) cmds.AddCommand(f.NewCmdResize(out)) cmds.AddCommand(f.NewCmdRunContainer(out)) cmds.AddCommand(f.NewCmdStop(out)) return cmds }
// NewKubectlCommand creates the `kubectl` command and its nested children. func NewKubectlCommand(f *cmdutil.Factory, in io.Reader, out, err io.Writer) *cobra.Command { // Parent command to which all subcommands are added. cmds := &cobra.Command{ Use: "kubectl", Short: "kubectl controls the Kubernetes cluster manager", Long: `kubectl controls the Kubernetes cluster manager. Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`, Run: runHelp, BashCompletionFunction: bash_completion_func, } f.BindFlags(cmds.PersistentFlags()) // From this point and forward we get warnings on flags that contain "_" separators cmds.SetGlobalNormalizationFunc(util.WarnWordSepNormalizeFunc) cmds.AddCommand(NewCmdGet(f, out)) cmds.AddCommand(NewCmdDescribe(f, out)) cmds.AddCommand(NewCmdCreate(f, out)) cmds.AddCommand(NewCmdReplace(f, out)) cmds.AddCommand(NewCmdPatch(f, out)) cmds.AddCommand(NewCmdDelete(f, out)) cmds.AddCommand(NewCmdNamespace(out)) cmds.AddCommand(NewCmdLog(f, out)) cmds.AddCommand(NewCmdRollingUpdate(f, out)) cmds.AddCommand(NewCmdScale(f, out)) cmds.AddCommand(NewCmdAttach(f, in, out, err)) cmds.AddCommand(NewCmdExec(f, in, out, err)) cmds.AddCommand(NewCmdPortForward(f)) cmds.AddCommand(NewCmdProxy(f, out)) cmds.AddCommand(NewCmdRun(f, out)) cmds.AddCommand(NewCmdStop(f, out)) cmds.AddCommand(NewCmdExposeService(f, out)) cmds.AddCommand(NewCmdLabel(f, out)) cmds.AddCommand(cmdconfig.NewCmdConfig(cmdconfig.NewDefaultPathOptions(), out)) cmds.AddCommand(NewCmdClusterInfo(f, out)) cmds.AddCommand(NewCmdApiVersions(f, out)) cmds.AddCommand(NewCmdVersion(f, out)) return cmds }
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) adjustCmdExamples(cmd, parentName, name) return cmd }