summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/gosd/main.go3
-rw-r--r--internal/config/client/client.go5
-rw-r--r--internal/config/config.go1
-rw-r--r--internal/config/server/server.go13
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)