Move the config package to a singleton pattern
This commit is contained in:
parent
abb19b8748
commit
07223320af
3 changed files with 20 additions and 17 deletions
|
|
@ -16,9 +16,13 @@ type AppConfig struct {
|
|||
LogAddSource bool `yaml:"log_add_source"`
|
||||
}
|
||||
|
||||
func Parse() (*AppConfig, error) {
|
||||
var appConfig *AppConfig
|
||||
var config *AppConfig
|
||||
|
||||
func Get() *AppConfig {
|
||||
return config
|
||||
}
|
||||
|
||||
func Init() error {
|
||||
setDefaults()
|
||||
|
||||
// automatically populate config with any matching environment vars
|
||||
|
|
@ -31,15 +35,15 @@ func Parse() (*AppConfig, error) {
|
|||
|
||||
err := viper.ReadInConfig()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error reading configs: %s", err)
|
||||
return fmt.Errorf("error reading configs: %s", err)
|
||||
}
|
||||
|
||||
err = viper.Unmarshal(&appConfig)
|
||||
err = viper.Unmarshal(&config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error unmarshaling configs: %s", err)
|
||||
return fmt.Errorf("error unmarshaling configs: %s", err)
|
||||
}
|
||||
|
||||
return appConfig, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func setDefaults() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue