MCPcopy Create free account
hub / github.com/rilldata/rill / start

Method start

cli/cmd/devtool/start.go:245–398  ·  view source on GitHub ↗
(ctx context.Context, ch *cmdutil.Helper, verbose, reset, refreshDotenv bool, preset string, services *servicesCfg)

Source from the content-addressed store, hash-verified

243type cloud struct{}
244
245func (s cloud) start(ctx context.Context, ch *cmdutil.Helper, verbose, reset, refreshDotenv bool, preset string, services *servicesCfg) error {
246 if refreshDotenv {
247 err := downloadDotenv(ctx, preset)
248 if err != nil {
249 return fmt.Errorf("failed to refresh .env: %w", err)
250 }
251 logInfo.Printf("Refreshed .env\n")
252 }
253
254 if preset == "other" {
255 preset = "e2e"
256 }
257
258 // Validate the .env file is well-formed.
259 err := checkDotenv()
260 if err != nil {
261 return err
262 }
263 _, err = godotenv.Read()
264 if err != nil {
265 return fmt.Errorf("error parsing .env: %w", err)
266 }
267
268 if reset {
269 err := s.resetState(ctx)
270 if err != nil {
271 return fmt.Errorf("reset cloud deps: %w", err)
272 }
273 logInfo.Printf("Reset cloud dependencies\n")
274 }
275
276 g, ctx := errgroup.WithContext(ctx)
277
278 err = os.MkdirAll(stateDirectory(), os.ModePerm)
279 if err != nil {
280 return fmt.Errorf("failed to create state dir %q: %w", stateDirectory(), err)
281 }
282 logInfo.Printf("State directory is %q\n", stateDirectory())
283
284 if services.deps {
285 g.Go(func() error { return s.runDeps(ctx, verbose, preset) })
286 }
287
288 depsReadyCh := make(chan struct{})
289 g.Go(func() error {
290 if services.deps {
291 err := s.awaitPostgres(ctx, preset)
292 if err != nil {
293 return err
294 }
295 err = s.awaitRedis(ctx)
296 if err != nil {
297 return err
298 }
299 }
300 close(depsReadyCh)
301 return nil
302 })

Callers

nothing calls this directly

Calls 15

resetStateMethod · 0.95
runDepsMethod · 0.95
awaitPostgresMethod · 0.95
awaitRedisMethod · 0.95
runAdminMethod · 0.95
runRuntimeMethod · 0.95
awaitAdminMethod · 0.95
awaitRuntimeMethod · 0.95
runUIInstallMethod · 0.95
runUIMethod · 0.95
awaitUIMethod · 0.95
downloadDotenvFunction · 0.85

Tested by

no test coverage detected