16726: Initialize anonymous user token in arvados-boot
[arvados.git] / lib / boot / seed.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package boot
6
7 import (
8         "context"
9 )
10
11 // Populate a blank database with arvados tables and seed rows.
12 type seedDatabase struct{}
13
14 func (seedDatabase) String() string {
15         return "seedDatabase"
16 }
17
18 func (seedDatabase) Run(ctx context.Context, fail func(error), super *Supervisor) error {
19         err := super.wait(ctx, runPostgreSQL{}, installPassenger{src: "services/api"})
20         if err != nil {
21                 return err
22         }
23         err = super.RunProgram(ctx, "services/api", nil, railsEnv, "bundle", "exec", "rake", "db:setup")
24         if err != nil {
25                 return err
26         }
27         err = super.RunProgram(ctx, "services/api", nil, railsEnv, "bundle", "exec", "./script/get_anonymous_user_token.rb")
28         if err != nil {
29                 return err
30         }
31         return nil
32 }