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:
@@ -131,9 +131,8 @@ type SyncParams struct {
|
||||
}
|
||||
|
||||
// constructor with default values
|
||||
func NewSyncParams(bzzdir string) *SyncParams {
|
||||
func NewDefaultSyncParams() *SyncParams {
|
||||
return &SyncParams{
|
||||
RequestDbPath: filepath.Join(bzzdir, "requests"),
|
||||
RequestDbBatchSize: requestDbBatchSize,
|
||||
KeyBufferSize: keyBufferSize,
|
||||
SyncBufferSize: syncBufferSize,
|
||||
@@ -144,6 +143,12 @@ func NewSyncParams(bzzdir string) *SyncParams {
|
||||
}
|
||||
}
|
||||
|
||||
//this can only finally be set after all config options (file, cmd line, env vars)
|
||||
//have been evaluated
|
||||
func (self *SyncParams) Init(path string) {
|
||||
self.RequestDbPath = filepath.Join(path, "requests")
|
||||
}
|
||||
|
||||
// syncer is the agent that manages content distribution/storage replication/chunk storeRequest forwarding
|
||||
type syncer struct {
|
||||
*SyncParams // sync parameters
|
||||
|
Reference in New Issue
Block a user