| 1234567891011121314151617181920212223242526272829303132333435 |
- package envloader
- import (
- "fmt"
- "github.com/joeshaw/envdecode"
- "github.com/porter-dev/porter/api/server/shared"
- )
- type EnvDecoderConf struct {
- ServerConf shared.ServerConf
- RedisConf shared.RedisConf
- DBConf shared.DBConf
- }
- type EnvConf struct {
- ServerConf *shared.ServerConf
- RedisConf *shared.RedisConf
- DBConf *shared.DBConf
- }
- // FromEnv generates a configuration from environment variables
- func FromEnv() (*EnvConf, error) {
- var envDecoderConf EnvDecoderConf = EnvDecoderConf{}
- if err := envdecode.StrictDecode(&envDecoderConf); err != nil {
- return nil, fmt.Errorf("Failed to decode server conf: %s", err)
- }
- return &EnvConf{
- ServerConf: &envDecoderConf.ServerConf,
- RedisConf: &envDecoderConf.RedisConf,
- DBConf: &envDecoderConf.DBConf,
- }, nil
- }
|