package main import ( "context" "fmt" "os" "github.com/peterbourgon/ff/v3/ffcli" "edge-infra.dev/pkg/edge/monitoring/billman/cmd" "edge-infra.dev/pkg/edge/monitoring/billman/cmd/all" "edge-infra.dev/pkg/edge/monitoring/billman/cmd/logs" "edge-infra.dev/pkg/edge/monitoring/billman/cmd/metrics" ) func main() { var ( rootCommand, rootConfig = cmd.New() logsCommand = logs.New(rootConfig) metricsCommand = metrics.New(rootConfig) allCommand = all.New(rootConfig) ) rootCommand.Subcommands = []*ffcli.Command{ logsCommand, metricsCommand, allCommand, } if err := rootCommand.Parse(os.Args[1:]); err != nil { fmt.Fprintf(os.Stderr, "error during Parse: %v\n", err) os.Exit(1) } if err := rootConfig.AfterParse(); err != nil { fmt.Fprintf(os.Stderr, "failed to setup connections after parsing flags: %v\n", err) } if err := rootCommand.Run(context.Background()); err != nil { fmt.Fprintf(os.Stderr, "%v\n", err) os.Exit(1) } }