package main import ( goflag "flag" "fmt" "os" "github.com/spf13/cobra" "github.com/spf13/pflag" utilflag "k8s.io/component-base/cli/flag" "k8s.io/component-base/logs" "open-cluster-management.io/ocm/pkg/cmd/hub" "open-cluster-management.io/ocm/pkg/cmd/webhook" "open-cluster-management.io/ocm/pkg/version" ) func main() { pflag.CommandLine.SetNormalizeFunc(utilflag.WordSepNormalizeFunc) pflag.CommandLine.AddGoFlagSet(goflag.CommandLine) logs.AddFlags(pflag.CommandLine) logs.InitLogs() defer logs.FlushLogs() command := newAddonCommand() if err := command.Execute(); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) //nolint:gocritic } } func newAddonCommand() *cobra.Command { cmd := &cobra.Command{ Use: "addon", Short: "Manager of Addon", Run: func(cmd *cobra.Command, args []string) { _ = cmd.Help() os.Exit(1) }, } if v := version.Get().String(); len(v) == 0 { cmd.Version = "" } else { cmd.Version = v } cmd.AddCommand(hub.NewAddonManager()) cmd.AddCommand(webhook.NewAddonWebhook()) return cmd }