diff options
| author | Paul Buetow <paul@buetow.org> | 2024-08-11 22:18:49 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-08-11 22:18:49 +0300 |
| commit | ad8ed5130c18a265e58c5d99d659206196260182 (patch) | |
| tree | 1a37173c5ee5baacc917bd6ead8f4f40605a7554 /internal/config/server | |
| parent | 94ceede429dc807b54ceab0f27d74b98c94dc5ac (diff) | |
add CBs for config defaults
Diffstat (limited to 'internal/config/server')
| -rw-r--r-- | internal/config/server/server.go | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/internal/config/server/server.go b/internal/config/server/server.go index d46a32a..a123e81 100644 --- a/internal/config/server/server.go +++ b/internal/config/server/server.go @@ -23,24 +23,22 @@ type ServerConfig struct { func New(configFile string) (ServerConfig, error) { conf, _ := config.FromFile[ServerConfig](configFile) - conf.ListenAddr = config.StrFromENV("GOS_LISTEN_ADDR", conf.ListenAddr, "localhost:8080") - conf.Partner = config.StrFromENV("GOS_PARTNER", conf.Partner) - conf.APIKey = config.StrFromENV("GOS_API_KEY", conf.APIKey) - conf.DataDir = config.StrFromENV("GOS_DATA_DIR", conf.DataDir, "data") - conf.EmailTo = config.StrFromENV("GOS_EMAIL_TO", conf.EmailTo) - conf.EmailFrom = config.StrFromENV("GOS_EMAIL_FROM", conf.EmailFrom) - - conf.SMTPServer = config.StrFromENV("GOS_SMTP_SERVER", conf.SMTPServer) - if conf.SMTPServer == "" { + conf.ListenAddr = config.EnvToStr("GOS_LISTEN_ADDR", conf.ListenAddr, "localhost:8080") + conf.Partner = config.EnvToStr("GOS_PARTNER", conf.Partner) + conf.APIKey = config.EnvToStr("GOS_API_KEY", conf.APIKey) + conf.DataDir = config.EnvToStr("GOS_DATA_DIR", conf.DataDir, "data") + conf.EmailTo = config.EnvToStr("GOS_EMAIL_TO", conf.EmailTo) + conf.EmailFrom = config.EnvToStr("GOS_EMAIL_FROM", conf.EmailFrom) + + conf.SMTPServer = config.EnvToStr("GOS_SMTP_SERVER", conf.SMTPServer, func() string { hostname, err := os.Hostname() if err != nil { log.Fatal(err) } - conf.SMTPServer = fmt.Sprintf("%s:25", hostname) - log.Println("Set SMTPServer to " + conf.SMTPServer) - } + return fmt.Sprintf("%s:25", hostname) + }) - conf.CRONMergeIntervalS = config.IntFromENV("GOS_CRON_MERGE_INTERVAL", 3600) + conf.CRONMergeIntervalS = config.EnvToInt("GOS_CRON_MERGE_INTERVAL", 3600) return conf, nil } |
