mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 09:52:49 +00:00
All Kubernetes commands should show flags with hyphens in their help text even when the flag originally was defined with underscore. Converting a command to this style is not breaking its command line API because the old-style parameter with underscore is accepted as alias. The easiest solution to achieve this is to set normalization shortly before running the command in the new central cli.Run or the few places where that function isn't used yet. There may be some texts which depends on normalization at flag definition time, like the --logging-format usage warning. Those get generated assuming that hyphens will be used.
44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
/*
|
|
Copyright 2020 The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/spf13/pflag"
|
|
|
|
"k8s.io/cli-runtime/pkg/genericclioptions"
|
|
"k8s.io/component-base/cli"
|
|
cmdutil "k8s.io/kubectl/pkg/cmd/util"
|
|
"k8s.io/kubernetes/pkg/kubectl/cmd/convert"
|
|
)
|
|
|
|
func main() {
|
|
flags := pflag.NewFlagSet("kubectl-convert", pflag.ExitOnError)
|
|
pflag.CommandLine = flags
|
|
|
|
kubeConfigFlags := genericclioptions.NewConfigFlags(true).WithDeprecatedPasswordFlag()
|
|
kubeConfigFlags.AddFlags(flags)
|
|
matchVersionKubeConfigFlags := cmdutil.NewMatchVersionFlags(kubeConfigFlags)
|
|
|
|
f := cmdutil.NewFactory(matchVersionKubeConfigFlags)
|
|
cmd := convert.NewCmdConvert(f, genericclioptions.IOStreams{In: os.Stdin, Out: os.Stdout, ErrOut: os.Stderr})
|
|
matchVersionKubeConfigFlags.AddFlags(cmd.PersistentFlags())
|
|
code := cli.Run(cmd)
|
|
os.Exit(code)
|
|
}
|