diff --git a/internal/config/config.go b/internal/config/config.go index 4fee8339..3545594d 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -220,7 +220,13 @@ func (cfg *Config) load() gperr.Error { data, err := os.ReadFile(common.ConfigPath) if err != nil { - gperr.LogFatal(errMsg, err) + if os.IsNotExist(err) { + log.Warn().Msg("config file not found, using default config") + cfg.value = config.DefaultConfig() + return nil + } else { + gperr.LogFatal(errMsg, err) + } } model := config.DefaultConfig() diff --git a/internal/net/gphttp/middleware/middlewares.go b/internal/net/gphttp/middleware/middlewares.go index 9695f8cc..0f3517ce 100644 --- a/internal/net/gphttp/middleware/middlewares.go +++ b/internal/net/gphttp/middleware/middlewares.go @@ -1,6 +1,8 @@ package middleware import ( + "errors" + "io/fs" "path" "github.com/rs/zerolog/log" @@ -63,6 +65,9 @@ func LoadComposeFiles() { errs := gperr.NewBuilder("middleware compile errors") middlewareDefs, err := utils.ListFiles(common.MiddlewareComposeBasePath, 0) if err != nil { + if errors.Is(err, fs.ErrNotExist) { + return + } log.Err(err).Msg("failed to list middleware definitions") return }