Implement flags grouping for karmada-aggregated-apiserver

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

Implement flags grouping for karmada-aggregated-apiserver

Signed-off-by: AllenZMC <zhongming.chang@daocloud.io>
This commit is contained in:
AllenZMC 2022-03-15 23:13:35 +08:00
parent 82c2fdd95b
commit 8d2ef8eb50
1 changed files with 18 additions and 3 deletions

View File

@ -2,12 +2,15 @@ package app
import ( import (
"context" "context"
"flag"
"os" "os"
"github.com/spf13/cobra" "github.com/spf13/cobra"
cliflag "k8s.io/component-base/cli/flag"
"k8s.io/component-base/term"
"github.com/karmada-io/karmada/cmd/aggregated-apiserver/app/options" "github.com/karmada-io/karmada/cmd/aggregated-apiserver/app/options"
"github.com/karmada-io/karmada/pkg/sharedcli"
"github.com/karmada-io/karmada/pkg/sharedcli/klogflag"
"github.com/karmada-io/karmada/pkg/version/sharedcommand" "github.com/karmada-io/karmada/pkg/version/sharedcommand"
) )
@ -32,8 +35,20 @@ func NewAggregatedApiserverCommand(ctx context.Context) *cobra.Command {
}, },
} }
opts.AddFlags(cmd.Flags()) fss := cliflag.NamedFlagSets{}
genericFlagSet := fss.FlagSet("generic")
opts.AddFlags(genericFlagSet)
// Set klog flags
logsFlagSet := fss.FlagSet("logs")
klogflag.Add(logsFlagSet)
cmd.AddCommand(sharedcommand.NewCmdVersion(os.Stdout, "karmada-aggregated-apiserver")) cmd.AddCommand(sharedcommand.NewCmdVersion(os.Stdout, "karmada-aggregated-apiserver"))
cmd.Flags().AddGoFlagSet(flag.CommandLine) cmd.Flags().AddFlagSet(genericFlagSet)
cmd.Flags().AddFlagSet(logsFlagSet)
cols, _, _ := term.TerminalSize(cmd.OutOrStdout())
sharedcli.SetUsageAndHelpFunc(cmd, fss, cols)
return cmd return cmd
} }