Skip to content

Commit 84a8b4b

Browse files
committed
check if config is missing
1 parent ccaf801 commit 84a8b4b

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

utils/config/config.go

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
package config
22

33
import (
4+
"errors"
5+
"io/fs"
46
"os"
57
"strconv"
68
"strings"
7-
"time"
89

910
middlewares "github.com/codeshelldev/secured-signal-api/internals/proxy/middlewares"
1011
utils "github.com/codeshelldev/secured-signal-api/utils"
11-
"github.com/codeshelldev/secured-signal-api/utils/docker"
1212
log "github.com/codeshelldev/secured-signal-api/utils/logger"
1313

1414
"github.com/knadh/koanf/parsers/dotenv"
@@ -62,12 +62,25 @@ func LoadIntoENV() {
6262
}
6363

6464
func Load() {
65-
log.Debug("Loading Config ", ENV.DEFAULTS_PATH)
65+
log.Debug("Loading Default Config ", ENV.DEFAULTS_PATH)
6666

67-
LoadFile(ENV.DEFAULTS_PATH, yaml.Parser())
67+
defErr := LoadFile(ENV.DEFAULTS_PATH, yaml.Parser())
68+
69+
if defErr != nil {
70+
log.Warn("Could not Load Defaults", ENV.DEFAULTS_PATH)
71+
}
6872

6973
log.Debug("Loading Config ", ENV.CONFIG_PATH)
70-
LoadFile(ENV.CONFIG_PATH, yaml.Parser())
74+
75+
conErr := LoadFile(ENV.CONFIG_PATH, yaml.Parser())
76+
77+
if conErr != nil {
78+
_, err := os.Stat(ENV.CONFIG_PATH)
79+
80+
if !errors.Is(err, fs.ErrNotExist) {
81+
log.Error("Could not Load Config ", ENV.CONFIG_PATH, ": ", conErr.Error())
82+
}
83+
}
7184

7285
log.Debug("Loading DotEnv")
7386
LoadDotEnv()
@@ -79,17 +92,13 @@ func Load() {
7992
log.Info("Finished Loading Configuration")
8093
}
8194

82-
func LoadFile(path string, parser koanf.Parser) (*file.File) {
95+
func LoadFile(path string, parser koanf.Parser) error {
8396
f := file.Provider(path)
8497

8598
err := config.Load(f, parser)
8699

87100
if err != nil {
88-
log.Error("Error loading ", path, ": ", err.Error())
89-
90-
time.Sleep(10 * time.Second)
91-
92-
docker.Exit(1)
101+
return err
93102
}
94103

95104
f.Watch(func(event any, err error) {
@@ -102,10 +111,10 @@ func LoadFile(path string, parser koanf.Parser) (*file.File) {
102111
Load()
103112
})
104113

105-
return f
114+
return err
106115
}
107116

108-
func LoadDotEnv() (*env.Env) {
117+
func LoadDotEnv() error {
109118
e := env.ProviderWithValue("", ".", normalizeEnv)
110119

111120
err := config.Load(e, dotenv.Parser())
@@ -114,7 +123,7 @@ func LoadDotEnv() (*env.Env) {
114123
log.Fatal("Error loading env: ", err.Error())
115124
}
116125

117-
return e
126+
return err
118127
}
119128

120129
func normalizeKeys() {

0 commit comments

Comments
 (0)