Move the config package to a singleton pattern

This commit is contained in:
piper pentagram 2024-11-13 22:03:57 +00:00
parent abb19b8748
commit 07223320af
3 changed files with 20 additions and 17 deletions

View file

@ -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() {