Implement flags grouping for karmada-webhook

Signed-off-by: AllenZMC <zhongming.chang@daocloud.io>

Implement flags grouping for karmada-webhook

Signed-off-by: AllenZMC <zhongming.chang@daocloud.io>
This commit is contained in:
AllenZMC 2022-03-15 19:57:58 +08:00
parent 82c2fdd95b
commit f6bf8e4821
1 changed files with 17 additions and 5 deletions

View File

@ -8,6 +8,8 @@ import (
"os"
"github.com/spf13/cobra"
cliflag "k8s.io/component-base/cli/flag"
"k8s.io/component-base/term"
"k8s.io/klog/v2"
controllerruntime "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/healthz"
@ -15,6 +17,8 @@ import (
"sigs.k8s.io/controller-runtime/pkg/webhook/conversion"
"github.com/karmada-io/karmada/cmd/webhook/app/options"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
"github.com/karmada-io/karmada/pkg/util/gclient"
"github.com/karmada-io/karmada/pkg/version"
"github.com/karmada-io/karmada/pkg/version/sharedcommand"
@ -54,14 +58,22 @@ func NewWebhookCommand(ctx context.Context) *cobra.Command {
},
}
// Init log flags
// TODO(@RainbowMango): Group the flags to "logs" flag set.
klog.InitFlags(flag.CommandLine)
fss := cliflag.NamedFlagSets{}
genericFlagSet := fss.FlagSet("generic")
genericFlagSet.AddGoFlagSet(flag.CommandLine)
opts.AddFlags(genericFlagSet)
// Set klog flags
logsFlagSet := fss.FlagSet("logs")
klogflag.Add(logsFlagSet)
cmd.Flags().AddGoFlagSet(flag.CommandLine)
cmd.AddCommand(sharedcommand.NewCmdVersion(os.Stdout, "karmada-webhook"))
opts.AddFlags(cmd.Flags())
cmd.Flags().AddFlagSet(genericFlagSet)
cmd.Flags().AddFlagSet(logsFlagSet)
cols, _, _ := term.TerminalSize(cmd.OutOrStdout())
sharedcli.SetUsageAndHelpFunc(cmd, fss, cols)
return cmd
}