-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
env.go
32 lines (23 loc) · 982 Bytes
/
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
package v2
import (
"os"
"strings"
"github.com/smartcontractkit/chainlink/core/store/models"
)
var (
EnvConfig = Env("CL_CONFIG")
EnvDev = Env("CL_DEV")
EnvDatabaseAllowSimplePasswords = Env("CL_DATABASE_ALLOW_SIMPLE_PASSWORDS")
EnvDatabaseURL = EnvSecret("CL_DATABASE_URL")
EnvDatabaseBackupURL = EnvSecret("CL_DATABASE_BACKUP_URL")
EnvExplorerAccessKey = EnvSecret("CL_EXPLORER_ACCESS_KEY")
EnvExplorerSecret = EnvSecret("CL_EXPLORER_SECRET")
EnvPasswordKeystore = EnvSecret("CL_PASSWORD_KEYSTORE")
EnvPasswordVRF = EnvSecret("CL_PASSWORD_VRF")
EnvPyroscopeAuthToken = EnvSecret("CL_PYROSCOPE_AUTH_TOKEN")
)
type Env string
func (e Env) Get() string { return os.Getenv(string(e)) }
func (e Env) IsTrue() bool { return strings.ToLower(e.Get()) == "true" }
type EnvSecret string
func (e EnvSecret) Get() models.Secret { return models.Secret(os.Getenv(string(e))) }