cmd/swarm: add config file (#15548)
This commit adds a TOML configuration option to swarm. It reuses the TOML configuration structure used in geth with swarm customized items. The commit: * Adds a "dumpconfig" command to the swarm executable which allows printing the (default) configuration to stdout, which then can be redirected to a file in order to customize it. * Adds a "--config <file>" option to the swarm executable which will allow to load a configuration file in TOML format from the specified location in order to initialize the Swarm node The override priorities are like follows: environment variables override command line arguments override config file override default config.
This commit is contained in:
@ -220,7 +220,7 @@ func (self *Swarm) Start(srv *p2p.Server) error {
|
||||
// stops all component services.
|
||||
func (self *Swarm) Stop() error {
|
||||
self.dpa.Stop()
|
||||
self.hive.Stop()
|
||||
err := self.hive.Stop()
|
||||
if ch := self.config.Swap.Chequebook(); ch != nil {
|
||||
ch.Stop()
|
||||
ch.Save()
|
||||
@ -230,7 +230,7 @@ func (self *Swarm) Stop() error {
|
||||
self.lstore.DbStore.Close()
|
||||
}
|
||||
self.sfs.Stop()
|
||||
return self.config.Save()
|
||||
return err
|
||||
}
|
||||
|
||||
// implements the node.Service interface
|
||||
@ -301,7 +301,6 @@ func (self *Swarm) SetChequebook(ctx context.Context) error {
|
||||
return err
|
||||
}
|
||||
log.Info(fmt.Sprintf("new chequebook set (%v): saving config file, resetting all connections in the hive", self.config.Swap.Contract.Hex()))
|
||||
self.config.Save()
|
||||
self.hive.DropAll()
|
||||
return nil
|
||||
}
|
||||
@ -314,10 +313,9 @@ func NewLocalSwarm(datadir, port string) (self *Swarm, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
config, err := api.NewConfig(datadir, common.Address{}, prvKey, network.NetworkId)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
config := api.NewDefaultConfig()
|
||||
config.Path = datadir
|
||||
config.Init(prvKey)
|
||||
config.Port = port
|
||||
|
||||
dpa, err := storage.NewLocalDPA(datadir)
|
||||
|
Reference in New Issue
Block a user