7e11bf9a55
Create `config` package nearby storage node application. Implement `Config` as a wrapper over `viper.Viper` that provides the minimum functionality required by the application. The constructor allows you to read the config from the file. Methods are provided for reading subsections and values from the config tree. Helper functions are implemented to cast a value to native Go types. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
26 lines
453 B
Go
26 lines
453 B
Go
package config_test
|
|
|
|
import (
|
|
"github.com/nspcc-dev/neofs-node/cmd/neofs-node/config"
|
|
)
|
|
|
|
func fromFile(path string) *config.Config {
|
|
var p config.Prm
|
|
|
|
return config.New(p,
|
|
config.WithConfigFile(path),
|
|
)
|
|
}
|
|
|
|
func forEachFile(paths []string, f func(*config.Config)) {
|
|
for i := range paths {
|
|
f(fromFile(paths[i]))
|
|
}
|
|
}
|
|
|
|
func forEachFileType(pref string, f func(*config.Config)) {
|
|
forEachFile([]string{
|
|
pref + ".yaml",
|
|
pref + ".json",
|
|
}, f)
|
|
}
|