-
Notifications
You must be signed in to change notification settings - Fork 566
/
env.go
49 lines (41 loc) · 1.47 KB
/
env.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package server
import (
"context"
"github.com/pachyderm/pachyderm/v2/src/identity"
col "github.com/pachyderm/pachyderm/v2/src/internal/collection"
"github.com/pachyderm/pachyderm/v2/src/internal/pachsql"
"github.com/pachyderm/pachyderm/v2/src/internal/serviceenv"
txnenv "github.com/pachyderm/pachyderm/v2/src/internal/transactionenv"
"github.com/pachyderm/pachyderm/v2/src/server/enterprise"
"github.com/pachyderm/pachyderm/v2/src/server/pfs"
"github.com/pachyderm/pachyderm/v2/src/server/pps"
etcd "go.etcd.io/etcd/client/v3"
)
// Env is the environment required for an apiServer
type Env struct {
DB *pachsql.DB
EtcdClient *etcd.Client
Listener col.PostgresListener
TxnEnv *txnenv.TransactionEnv
// circular dependency
GetEnterpriseServer func() enterprise.APIServer
GetIdentityServer func() identity.APIServer
GetPfsServer func() pfs.APIServer
GetPpsServer func() pps.APIServer
BackgroundContext context.Context
Config serviceenv.Configuration
}
func EnvFromServiceEnv(senv serviceenv.ServiceEnv, txnEnv *txnenv.TransactionEnv) Env {
return Env{
DB: senv.GetDBClient(),
EtcdClient: senv.GetEtcdClient(),
Listener: senv.GetPostgresListener(),
TxnEnv: txnEnv,
GetEnterpriseServer: senv.EnterpriseServer,
GetIdentityServer: senv.IdentityServer,
GetPfsServer: senv.PfsServer,
GetPpsServer: senv.PpsServer,
BackgroundContext: senv.Context(),
Config: *senv.Config(),
}
}