/
environment.go
31 lines (27 loc) · 1.28 KB
/
environment.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
package config
import (
"github.com/kelseyhightower/envconfig"
"golang.org/x/xerrors"
)
// Environment - システム内で利用する環境変数の構造体
type Environment struct {
Port string `envconfig:"PORT" default:"8080"`
MetricsPort string `envconfig:"METRICS_PORT" default:"8081"`
FluentHost string `envconfig:"FLUENT_HOST" default:"fluent"`
FluentPort int `envconfig:"FLUENT_PORT" default:"24224"`
GCPStorageBucketName string `envconfig:"GCP_STORAGE_BUCKET_NAME" required:"true"`
GCPServiceKeyJSON string `envconfig:"GCP_SERVICE_KEY_JSON" required:"true"`
UserAPIURL string `envconfig:"USER_API_URL" default:"http://user_api:8080"`
// RedisHost string `envconfig:"REDIS_HOST" default:"redis"`
// RedisPort string `envconfig:"REDIS_PORT" default:"6379"`
// RedisDB int `envconfig:"REDIS_DB" default:"0"`
// GoogleApplicationCredentials string `envconfig:"GOOGLE_APPLICATION_CREDENTIALS" required:"true"`
}
// LoadEnvironment - 環境変数の取得
func LoadEnvironment() (Environment, error) {
env := Environment{}
if err := envconfig.Process("", &env); err != nil {
return env, xerrors.Errorf("Failed to LoadEnvironment: %w", err)
}
return env, nil
}