diff options
| -rw-r--r-- | cmd/gosd/main.go | 3 | ||||
| -rw-r--r-- | internal/config/client/client.go | 5 | ||||
| -rw-r--r-- | internal/config/config.go | 1 | ||||
| -rw-r--r-- | internal/config/server/server.go | 13 |
4 files changed, 17 insertions, 5 deletions
diff --git a/cmd/gosd/main.go b/cmd/gosd/main.go index a40d2fa..6bd2e16 100644 --- a/cmd/gosd/main.go +++ b/cmd/gosd/main.go @@ -16,8 +16,9 @@ import ( func main() { configFile := flag.String("cfg", "/etc/gosd.json", "The configuration file") + secretsFile := flag.String("cfg", "/etc/gosdsecrets.json", "The secrets file") - conf, err := config.New(*configFile) + conf, err := config.New(*configFile, *secretsFile) if err != nil { log.Fatal("error building config:", err) } diff --git a/internal/config/client/client.go b/internal/config/client/client.go index 00819c0..f39ea24 100644 --- a/internal/config/client/client.go +++ b/internal/config/client/client.go @@ -19,7 +19,10 @@ type ClientConfig struct { } func New(configFile string) (ClientConfig, error) { - conf, _ := config.FromFile[ClientConfig](configFile) + conf, err := config.FromFile[ClientConfig](configFile) + if err != nil { + return conf, err + } conf.Server = config.EnvToStr("GOS_SERVERS", conf.Server) conf.APIKey = config.EnvToStr("GOS_API_KEY", conf.APIKey) diff --git a/internal/config/config.go b/internal/config/config.go index b8a78e5..aa08e6e 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -72,6 +72,7 @@ func EnvToInt(keys ...any) int { return 0 } +// TODO: Maybe the EnvTo... can be programmed more generic...? func EnvToBool(keys ...any) bool { for _, key := range keys { switch key := key.(type) { diff --git a/internal/config/server/server.go b/internal/config/server/server.go index a5bd5fb..42f0870 100644 --- a/internal/config/server/server.go +++ b/internal/config/server/server.go @@ -19,11 +19,18 @@ type ServerConfig struct { SMTPServer string `json:"SMTPServer,omitempty"` MergeIntervalS int `json:"MergeInterval,omitempty"` ScheduleIntervalS int `json:"ScheduleInterval,omitempty"` - Secrets SecretsConfig `json:"Secrets,omitemtpy"` + Secrets SecretsConfig `json:"Secrets,omitempty"` } -func New(configFile string) (ServerConfig, error) { - conf, _ := config.FromFile[ServerConfig](configFile) +func New(configFile, secretsFile string) (ServerConfig, error) { + conf, err := config.FromFile[ServerConfig](configFile) + if err != nil { + return conf, err + } + + if conf.Secrets, err = newSecretsConfig(secretsFile); err != nil { + return conf, err + } conf.ListenAddr = config.EnvToStr("GOS_LISTEN_ADDR", conf.ListenAddr, "localhost:8080") conf.Partner = config.EnvToStr("GOS_PARTNER", "GOS_PARTNERS", conf.Partner) |
