insert services and nodes to loaded config
This commit is contained in:
parent
1151ecd2a4
commit
4ef4448249
@ -56,7 +56,7 @@ func init() {
|
||||
func main() {
|
||||
cfg := &config.Config{}
|
||||
var err error
|
||||
if len(services) > 0 || apiAddr != "" {
|
||||
if apiAddr != "" {
|
||||
cfg, err = buildConfigFromCmd(services, nodes)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
@ -80,12 +80,50 @@ func main() {
|
||||
} else {
|
||||
if cfgFile != "" {
|
||||
err = cfg.ReadFile(cfgFile)
|
||||
} else {
|
||||
err = cfg.Load()
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
} else {
|
||||
err = cfg.Load()
|
||||
if err != nil {
|
||||
if len(services) > 0 {
|
||||
log.Info("Cannot load config from default path. ", err)
|
||||
} else {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
if len(services) > 0 || len(nodes) > 0 {
|
||||
var cmdCfg = &config.Config{}
|
||||
cmdCfg, err = buildConfigFromCmd(services, nodes)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if cmdCfg.Chains != nil && len(cmdCfg.Chains) > 0 {
|
||||
if cfg.Chains == nil || len(cfg.Chains) == 0 {
|
||||
cfg.Chains = cmdCfg.Chains
|
||||
} else {
|
||||
for i := 0; i < len(cfg.Chains); i++ {
|
||||
var hops = append([]*config.HopConfig{}, cmdCfg.Chains[0].Hops...)
|
||||
cfg.Chains[i].Hops = append(hops, cfg.Chains[i].Hops...)
|
||||
}
|
||||
}
|
||||
}
|
||||
if cmdCfg.Services != nil && len(cmdCfg.Services) > 0 {
|
||||
if (cfg.Chains != nil && len(cfg.Chains) > 0) {
|
||||
for i := 0; i < len(cmdCfg.Services); i++ {
|
||||
var handler = cmdCfg.Services[i].Handler
|
||||
if (handler != nil && (handler.Chain == "" && handler.ChainGroup == nil)) {
|
||||
handler.Chain = cfg.Chains[0].Name
|
||||
}
|
||||
}
|
||||
}
|
||||
if cfg.Services == nil {
|
||||
cfg.Services = []*config.ServiceConfig{}
|
||||
}
|
||||
cfg.Services = append(append([]*config.ServiceConfig{}, cmdCfg.Services...), cfg.Services...)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log = logFromConfig(cfg.Log)
|
||||
|
Loading…
Reference in New Issue
Block a user