diff --git a/pkg/config/config.go b/pkg/config/config.go index 397fe9defb9415ae026951f8d4c63523d99792e6..4111a1243e44f31fcd3e8bcf8776ed07c528bccc 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -3,6 +3,7 @@ package config import ( "errors" "fmt" + "gitlab.eclipse.org/eclipse/xfsc/libraries/microservice/core/pkg/server" "strings" "github.com/spf13/viper" @@ -13,10 +14,11 @@ var viperInstance = viper.New() // BaseConfig can be used to import the base config parameters in the applications config struct. // Please use with tag `mapstructure:",squash"`. type BaseConfig struct { - LogLevel string `mapstructure:"logLevel" envconfig:"LOG_LEVEL" default:"info"` - IsDev bool `mapstructure:"isDev" envconfig:"IS_DEV" default:"false"` - ListenAddr string `mapstructure:"listenAddr" envconfig:"LISTEN_ADDR" default:"127.0.0.1"` - ListenPort int `mapstructure:"listenPort" envconfig:"LISTEN_PORT" default:"8080"` + LogLevel string `mapstructure:"logLevel" envconfig:"LOG_LEVEL" default:"info"` + IsDev bool `mapstructure:"isDev" envconfig:"IS_DEV" default:"false"` + ListenAddr string `mapstructure:"listenAddr" envconfig:"LISTEN_ADDR" default:"127.0.0.1"` + ListenPort int `mapstructure:"listenPort" envconfig:"LISTEN_PORT" default:"8080"` + ServerMode server.ServerMode `mapstructure:"serverMode" default:"production"` } // LoadConfig sets given defaults and read in given config. @@ -57,6 +59,7 @@ func setDefaults(defaults map[string]any) { viperInstance.SetDefault("logLevel", "info") viperInstance.SetDefault("listenAddr", "127.0.0.1") viperInstance.SetDefault("listenPort", 8080) + viperInstance.SetDefault("serverMode", server.ModeProduction) for key, value := range defaults { viperInstance.SetDefault(key, value)