From 32516c768ec09e2a71cab5983d2c8b8ae5d92fc7 Mon Sep 17 00:00:00 2001 From: holisticode Date: Mon, 11 Dec 2017 16:56:06 -0500 Subject: 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 " 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. --- swarm/storage/netstore.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'swarm/storage') diff --git a/swarm/storage/netstore.go b/swarm/storage/netstore.go index 7b0612edc..5d4f17deb 100644 --- a/swarm/storage/netstore.go +++ b/swarm/storage/netstore.go @@ -57,15 +57,21 @@ type StoreParams struct { Radius int } -func NewStoreParams(path string) (self *StoreParams) { +//create params with default values +func NewDefaultStoreParams() (self *StoreParams) { return &StoreParams{ - ChunkDbPath: filepath.Join(path, "chunks"), DbCapacity: defaultDbCapacity, CacheCapacity: defaultCacheCapacity, Radius: defaultRadius, } } +//this can only finally be set after all config options (file, cmd line, env vars) +//have been evaluated +func (self *StoreParams) Init(path string) { + self.ChunkDbPath = filepath.Join(path, "chunks") +} + // netstore contructor, takes path argument that is used to initialise dbStore, // the persistent (disk) storage component of LocalStore // the second argument is the hive, the connection/logistics manager for the node -- cgit v1.2.3