feat: reload cluster node settings from settings file #169

This commit is contained in:
Jacky 2024-05-08 15:32:45 +08:00
parent 29f1b7db89
commit e0366f949f
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
13 changed files with 110 additions and 34 deletions

View file

@ -7,3 +7,13 @@ type Cluster struct {
var ClusterSettings = Cluster{
Node: []string{},
}
func ReloadCluster() (err error) {
err = load()
if err != nil {
return err
}
return mapTo("cluster", &ClusterSettings)
}

View file

@ -39,13 +39,18 @@ func Init(confPath string) {
Setup()
}
func Setup() {
var err error
func load() (err error) {
Conf, err = ini.LoadSources(ini.LoadOptions{
Loose: true,
AllowShadows: true,
}, ConfPath)
return
}
func Setup() {
err := load()
if err != nil {
log.Fatalf("settings.Setup: %v\n", err)
}
@ -72,7 +77,11 @@ func Setup() {
func MapTo() {
for k, v := range sections {
mapTo(k, v)
err := mapTo(k, v)
if err != nil {
log.Fatalf("Cfg.MapTo %s err: %v", k, err)
}
}
}
@ -101,11 +110,8 @@ func ProtectedFill(targetSettings interface{}, newSettings interface{}) {
}
}
func mapTo(section string, v interface{}) {
err := Conf.Section(section).MapTo(v)
if err != nil {
log.Fatalf("Cfg.MapTo %s err: %v", section, err)
}
func mapTo(section string, v interface{}) error {
return Conf.Section(section).MapTo(v)
}
func reflectFrom(section string, v interface{}) {