github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/cmd/orbctl/takeoff.go (about) 1 package main 2 3 import ( 4 _ "net/http/pprof" 5 6 "github.com/caos/orbos/cmd/orbctl/cmds" 7 "github.com/spf13/cobra" 8 _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" 9 ) 10 11 func TakeoffCommand(getRv GetRootValues) *cobra.Command { 12 var ( 13 verbose bool 14 recur bool 15 deploy bool 16 cmd = &cobra.Command{ 17 Use: "takeoff", 18 Short: "Launch an operator", 19 Long: `For launching specific operators only, pass one or many of "orbiter", "boom" or "networking"`, 20 Args: cobra.MaximumNArgs(3), 21 } 22 ) 23 24 flags := cmd.Flags() 25 flags.BoolVar(&recur, "recur", false, "Ensure the desired state continously") 26 flags.BoolVar(&deploy, "deploy", true, "Ensure Orbiter and Boom deployments continously") 27 28 cmd.RunE = func(cmd *cobra.Command, args []string) (err error) { 29 30 rv := getRv("takeoff", "", map[string]interface{}{"recur": recur, "deploy": deploy, "args": args}) 31 defer rv.ErrFunc(err) 32 33 return cmds.Takeoff( 34 monitor, 35 rv.Ctx, 36 rv.OrbConfig, 37 rv.GitClient, 38 recur, 39 deploy, 40 verbose, 41 version, 42 gitCommit, 43 rv.Kubeconfig, 44 rv.Gitops, 45 args, 46 ) 47 } 48 return cmd 49 }