MCPcopy Index your code
hub / github.com/rilldata/rill / StartCmd

Function StartCmd

cli/cmd/devtool/start.go:60–97  ·  view source on GitHub ↗
(ch *cmdutil.Helper)

Source from the content-addressed store, hash-verified

58)
59
60func StartCmd(ch *cmdutil.Helper) *cobra.Command {
61 var verbose, reset, refreshDotenv bool
62 services := &servicesCfg{}
63
64 cmd := &cobra.Command{
65 Use: "start [cloud|minimal|local|e2e]",
66 Short: "Start a local development environment",
67 RunE: func(cmd *cobra.Command, args []string) error {
68 var preset string
69 if len(args) > 0 {
70 preset = args[0]
71 } else {
72 if !ch.Interactive {
73 return fmt.Errorf("preset must be provided as an argument in non-interactive mode")
74 }
75 res, err := cmdutil.SelectPrompt("Select preset", presets, "cloud")
76 if err != nil {
77 return err
78 }
79 preset = res
80 }
81
82 err := services.parse()
83 if err != nil {
84 return fmt.Errorf("failed to parse services: %w", err)
85 }
86
87 return start(ch, preset, verbose, reset, refreshDotenv, services)
88 },
89 }
90
91 cmd.Flags().BoolVar(&verbose, "verbose", false, "Set log level to debug")
92 cmd.Flags().BoolVar(&reset, "reset", false, "Reset local development state")
93 cmd.Flags().BoolVar(&refreshDotenv, "refresh-dotenv", true, "Refresh .env file from shared storage")
94 services.addFlags(cmd)
95
96 return cmd
97}
98
99func start(ch *cmdutil.Helper, preset string, verbose, reset, refreshDotenv bool, services *servicesCfg) error {
100 ctx := graceful.WithCancelOnTerminate(context.Background())

Callers 1

DevtoolCmdFunction · 0.70

Calls 5

parseMethod · 0.95
addFlagsMethod · 0.95
SelectPromptFunction · 0.92
startFunction · 0.70
ErrorfMethod · 0.65

Tested by

no test coverage detected