...
1 package main
2
3 import (
4 "context"
5 "fmt"
6 "os"
7
8 "github.com/peterbourgon/ff/v3/ffcli"
9
10 "edge-infra.dev/pkg/edge/monitoring/billman/cmd"
11 "edge-infra.dev/pkg/edge/monitoring/billman/cmd/all"
12 "edge-infra.dev/pkg/edge/monitoring/billman/cmd/logs"
13 "edge-infra.dev/pkg/edge/monitoring/billman/cmd/metrics"
14 )
15
16 func main() {
17 var (
18 rootCommand, rootConfig = cmd.New()
19 logsCommand = logs.New(rootConfig)
20 metricsCommand = metrics.New(rootConfig)
21 allCommand = all.New(rootConfig)
22 )
23
24 rootCommand.Subcommands = []*ffcli.Command{
25 logsCommand,
26 metricsCommand,
27 allCommand,
28 }
29
30 if err := rootCommand.Parse(os.Args[1:]); err != nil {
31 fmt.Fprintf(os.Stderr, "error during Parse: %v\n", err)
32 os.Exit(1)
33 }
34
35 if err := rootConfig.AfterParse(); err != nil {
36 fmt.Fprintf(os.Stderr, "failed to setup connections after parsing flags: %v\n", err)
37 }
38
39 if err := rootCommand.Run(context.Background()); err != nil {
40 fmt.Fprintf(os.Stderr, "%v\n", err)
41 os.Exit(1)
42 }
43 }
44
View as plain text