feat: nested config value setting using env vars (#21049)

Automatic Merge
Этот коммит содержится в:
Gábor Boros
2022-10-15 06:32:14 +02:00
коммит произвёл GitHub
родитель 21bf5b5dd5
Коммит 9a857b47b4
2 изменённых файлов: 81 добавлений и 1 удалений

Просмотреть файл

@@ -4,6 +4,7 @@
package config
import (
"encoding/json"
"os"
"reflect"
"strconv"
@@ -73,6 +74,11 @@ func applyEnvKey(key, value string, rValueSubject reflect.Value) {
}
case reflect.SliceOf(reflect.TypeOf("")).Kind():
rFieldValue.Set(reflect.ValueOf(strings.Split(value, " ")))
case reflect.Map:
target := reflect.New(rFieldValue.Type()).Interface()
if err := json.Unmarshal([]byte(value), target); err == nil {
rFieldValue.Set(reflect.ValueOf(target).Elem())
}
}
}