Mercurial > gemma
diff config/config.go @ 220:11d1a488b08f
Depend command line parsing on Viper/Cobra. Configuration should be persistent now.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 24 Jul 2018 17:45:17 +0200 |
parents | 3457a60fb12d |
children | 696c19abe869 |
line wrap: on
line diff
--- a/config/config.go Tue Jul 24 16:19:05 2018 +0200 +++ b/config/config.go Tue Jul 24 17:45:17 2018 +0200 @@ -1,48 +1,17 @@ package config -import ( - "log" - "os" - "strconv" -) - -var Config = NewConfiguration() +var Config Configuration type Configuration struct { + File string DBHost string DBPort uint DBName string DBSSLMode string SessionStore string -} -func NewConfiguration() *Configuration { - // TODO: Load from file. - return &Configuration{ - DBHost: envString("GEMMA_DB_HOST", "localhost"), - DBPort: envUint("GEMMA_DB_PORT", 5432), - DBName: envString("GEMMA_DB_NAME", "gemma"), - DBSSLMode: envString("GEMMA_DB_SSL_MODE", "require"), - SessionStore: envString("GEMMA_SESSION_STORE", ""), - } + Web string + WebHost string + WebPort uint } - -func envString(key, def string) string { - if v, ok := os.LookupEnv(key); ok { - return v - } - return def -} - -func envUint(key string, def uint) uint { - if v, ok := os.LookupEnv(key); ok { - x, err := strconv.ParseUint(v, 10, 64) - if err != nil { - log.Printf("warn: invalid uint env %s: %v\n", key, err) - return def - } - return uint(x) - } - return def -}