Skip to content
Snippets Groups Projects

Add environment to decide which config should be loaded

Merged Ghost User requested to merge istaester/refactor-config into develop
Files
7
+ 7
1
@@ -33,10 +33,12 @@ package cmd
@@ -33,10 +33,12 @@ package cmd
import (
import (
"context"
"context"
 
"fmt"
"os"
"os"
"path/filepath"
"path/filepath"
"code.fbi.h-da.de/danet/gosdn/controller"
"code.fbi.h-da.de/danet/gosdn/controller"
 
"code.fbi.h-da.de/danet/gosdn/controller/config"
log "github.com/sirupsen/logrus"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
@@ -96,10 +98,14 @@ func initConfig() {
@@ -96,10 +98,14 @@ func initConfig() {
// Use config file from the flag.
// Use config file from the flag.
viper.SetConfigFile(cfgFile)
viper.SetConfigFile(cfgFile)
} else {
} else {
 
env := config.DetermineConfigEnvironment()
 
 
log.Infof("environment is %s\n", env)
 
viper.AddConfigPath(configHome)
viper.AddConfigPath(configHome)
viper.AddConfigPath("/usr/local/etc/gosdn/")
viper.AddConfigPath("/usr/local/etc/gosdn/")
viper.SetConfigType(configType)
viper.SetConfigType(configType)
viper.SetConfigName(configName)
viper.SetConfigName(fmt.Sprintf("%s-%s", env, configName))
}
}
viper.AutomaticEnv() // read in environment variables that match
viper.AutomaticEnv() // read in environment variables that match
Loading