15954: Merge branch 'master'
[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 type seedDatabase struct{}
12
13 func (seedDatabase) String() string {
14         return "seedDatabase"
15 }
16
17 func (seedDatabase) Run(ctx context.Context, fail func(error), boot *Booter) error {
18         err := boot.wait(ctx, runPostgreSQL{}, installPassenger{src: "services/api"})
19         if err != nil {
20                 return err
21         }
22         err = boot.RunProgram(ctx, "services/api", nil, nil, "bundle", "exec", "rake", "db:setup")
23         if err != nil {
24                 return err
25         }
26         return nil
27 }