...

Source file src/edge-infra.dev/pkg/edge/edgecli/commands/edgecli.go

Documentation: edge-infra.dev/pkg/edge/edgecli/commands

     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