in pkg/config/config.go [97:124]
func NewConfigFromFile(filename string) (Config, error) {
var err error
var bytes []byte
// attempt to read configuration from specified file
logger.Log.Infoln("Loading configuration from file:", filename)
if bytes, err = os.ReadFile(filename); err != nil && !os.IsNotExist(err) {
return nil, err
}
if os.IsNotExist(err) {
logger.Log.Infof("Config file %s does not exist, using the default config", filename)
if bytes, err = assets.Asset("default-config.yaml"); err != nil {
return nil, err
}
}
var config Config
if config, err = ParseV2(filename, bytes); err == nil {
return config, nil
}
if config, err = ParseV1(filename, bytes); err != nil {
return nil, err
}
return config, nil
}