...
1 package commands
2
3 import (
4 "context"
5 "fmt"
6 "os"
7
8 "edge-infra.dev/pkg/edge/edgecli"
9 "edge-infra.dev/pkg/edge/edgecli/commands/activationcode"
10 "edge-infra.dev/pkg/edge/edgecli/commands/banner"
11 "edge-infra.dev/pkg/edge/edgecli/commands/cluster/bootstrap"
12 "edge-infra.dev/pkg/edge/edgecli/commands/cluster/connect"
13 "edge-infra.dev/pkg/edge/edgecli/commands/cluster/register"
14 "edge-infra.dev/pkg/edge/edgecli/commands/clusterconfig"
15 "edge-infra.dev/pkg/edge/edgecli/commands/clustersecret"
16 "edge-infra.dev/pkg/edge/edgecli/commands/context/add"
17 "edge-infra.dev/pkg/edge/edgecli/commands/context/delete"
18 "edge-infra.dev/pkg/edge/edgecli/commands/context/list"
19 "edge-infra.dev/pkg/edge/edgecli/commands/context/set"
20 "edge-infra.dev/pkg/edge/edgecli/commands/context/update"
21 "edge-infra.dev/pkg/edge/edgecli/commands/networkservice"
22 "edge-infra.dev/pkg/edge/edgecli/commands/terminal"
23 "edge-infra.dev/pkg/lib/cli"
24 "edge-infra.dev/pkg/lib/cli/command"
25 "edge-infra.dev/pkg/lib/runtime/version"
26 )
27
28 func NewCmd() (command.Command, error) {
29 cfg, err := edgecli.ReadConfig()
30 if err != nil {
31 return command.Command{}, err
32 }
33 root := command.Command{
34 ShortUsage: "edge",
35 Commands: []*command.Command{
36 add.NewCmd(cfg),
37 banner.NewCmd(cfg),
38 bootstrap.NewCmd(cfg),
39 clusterconfig.NewCmd(cfg),
40 connect.NewCmd(cfg),
41 delete.NewCmd(cfg),
42 list.NewCmd(cfg),
43 register.NewCmd(cfg),
44 set.NewCmd(cfg),
45 update.NewCmd(cfg),
46 terminal.NewCmd(cfg),
47 clustersecret.NewCmd(cfg),
48 {
49 ShortUsage: "edge version",
50 ShortHelp: "display CLI version information",
51 Exec: func(_ context.Context, _ []string) error {
52 cli.Version(os.Stdout, version.New())
53 return nil
54 },
55 },
56 networkservice.NewCmd(cfg),
57 activationcode.NewCmd(cfg),
58 },
59 }
60 return root, nil
61 }
62
63 func Run(ctx context.Context) error {
64 c, err := NewCmd()
65 if err != nil {
66 fmt.Println("error: failed to instantiate CLI: ", err)
67 return err
68 }
69
70 if err := c.Command().ParseAndRun(ctx, os.Args[1:]); err != nil {
71 fmt.Println(err)
72 return err
73 }
74
75 return nil
76 }
77
View as plain text