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)