forked from TrueCloudLab/frostfs-s3-gw
[#266] Fix namespace config initialization
Don't use nil Namespaces map in case when file isn't provided or invalid Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
This commit is contained in:
parent
42862fd69e
commit
6c5f9b2764
1 changed files with 8 additions and 5 deletions
|
@ -487,7 +487,7 @@ func fetchNamespacesConfig(l *zap.Logger, v *viper.Viper) NamespacesConfig {
|
||||||
|
|
||||||
nsConfig, err := readNamespacesConfig(v.GetString(cfgNamespacesConfig))
|
nsConfig, err := readNamespacesConfig(v.GetString(cfgNamespacesConfig))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
l.Warn(logs.FailedToParseNamespacesConfig)
|
l.Warn(logs.FailedToParseNamespacesConfig, zap.Error(err))
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultNamespacesNames := fetchDefaultNamespaces(l, v)
|
defaultNamespacesNames := fetchDefaultNamespaces(l, v)
|
||||||
|
@ -521,18 +521,21 @@ func fetchNamespacesConfig(l *zap.Logger, v *viper.Viper) NamespacesConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
func readNamespacesConfig(filepath string) (NamespacesConfig, error) {
|
func readNamespacesConfig(filepath string) (NamespacesConfig, error) {
|
||||||
|
nsConfig := NamespacesConfig{
|
||||||
|
Namespaces: make(Namespaces),
|
||||||
|
}
|
||||||
|
|
||||||
if filepath == "" {
|
if filepath == "" {
|
||||||
return NamespacesConfig{}, nil
|
return nsConfig, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := os.ReadFile(filepath)
|
data, err := os.ReadFile(filepath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return NamespacesConfig{}, fmt.Errorf("failed to read namespace config '%s': %w", filepath, err)
|
return nsConfig, fmt.Errorf("failed to read namespace config '%s': %w", filepath, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
var nsConfig NamespacesConfig
|
|
||||||
if err = json.Unmarshal(data, &nsConfig); err != nil {
|
if err = json.Unmarshal(data, &nsConfig); err != nil {
|
||||||
return NamespacesConfig{}, fmt.Errorf("failed to parse namespace config: %w", err)
|
return nsConfig, fmt.Errorf("failed to parse namespace config: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nsConfig, nil
|
return nsConfig, nil
|
||||||
|
|
Loading…
Reference in a new issue