forked from TrueCloudLab/frostfs-node
1f3bb33db8
When notary disabled, inner ring should be able to configure extra fee for vote collections inside the contracts. Previously these values were hardcoded, however we might want to change them depending on a environment. Signed-off-by: Alex Vanin <alexey@nspcc.ru>
124 lines
3.8 KiB
Go
124 lines
3.8 KiB
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"time"
|
|
|
|
"github.com/nspcc-dev/neofs-node/misc"
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
func newConfig(path string) (*viper.Viper, error) {
|
|
var (
|
|
err error
|
|
v = viper.New()
|
|
)
|
|
|
|
v.SetEnvPrefix(misc.InnerRingPrefix)
|
|
v.AutomaticEnv()
|
|
v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
|
|
|
|
v.SetDefault("app.name", misc.InnerRingName)
|
|
v.SetDefault("app.version", misc.Version)
|
|
|
|
defaultConfiguration(v)
|
|
|
|
if path != "" {
|
|
v.SetConfigFile(path)
|
|
v.SetConfigType("yml") // fixme: for now
|
|
err = v.ReadInConfig()
|
|
}
|
|
|
|
return v, err
|
|
}
|
|
|
|
func defaultConfiguration(cfg *viper.Viper) {
|
|
cfg.SetDefault("logger.level", "info")
|
|
cfg.SetDefault("logger.format", "console")
|
|
cfg.SetDefault("logger.trace_level", "fatal")
|
|
cfg.SetDefault("logger.no_disclaimer", false)
|
|
cfg.SetDefault("logger.sampling.initial", 1000)
|
|
cfg.SetDefault("logger.sampling.thereafter", 1000)
|
|
|
|
cfg.SetDefault("pprof.enabled", false)
|
|
cfg.SetDefault("pprof.address", ":6060")
|
|
cfg.SetDefault("pprof.shutdown_ttl", "30s")
|
|
|
|
cfg.SetDefault("metrics.enabled", false)
|
|
cfg.SetDefault("metrics.address", ":9090")
|
|
cfg.SetDefault("metrics.shutdown_ttl", "30s")
|
|
|
|
cfg.SetDefault("without_mainnet", false)
|
|
|
|
cfg.SetDefault("morph.endpoint.client", "")
|
|
cfg.SetDefault("morph.endpoint.notification", "")
|
|
cfg.SetDefault("morph.dial_timeout", "10s")
|
|
cfg.SetDefault("morph.validators", []string{})
|
|
|
|
cfg.SetDefault("mainnet.endpoint.client", "")
|
|
cfg.SetDefault("mainnet.endpoint.notification", "")
|
|
cfg.SetDefault("mainnet.dial_timeout", "10s")
|
|
cfg.SetDefault("mainnet.notary_deposit", true)
|
|
|
|
cfg.SetDefault("key", "") // inner ring node key
|
|
|
|
cfg.SetDefault("contracts.netmap", "")
|
|
cfg.SetDefault("contracts.neofs", "")
|
|
cfg.SetDefault("contracts.balance", "")
|
|
cfg.SetDefault("contracts.container", "")
|
|
cfg.SetDefault("contracts.audit", "")
|
|
cfg.SetDefault("contracts.proxy", "")
|
|
cfg.SetDefault("contracts.processing", "")
|
|
cfg.SetDefault("contracts.reputation", "")
|
|
// alphabet contracts
|
|
cfg.SetDefault("contracts.alphabet.amount", 7)
|
|
|
|
cfg.SetDefault("timers.epoch", "0")
|
|
cfg.SetDefault("timers.emit", "0")
|
|
cfg.SetDefault("timers.notary", "1000")
|
|
cfg.SetDefault("timers.stop_estimation.mul", 1)
|
|
cfg.SetDefault("timers.stop_estimation.div", 1)
|
|
cfg.SetDefault("timers.collect_basic_income.mul", 1)
|
|
cfg.SetDefault("timers.collect_basic_income.div", 1)
|
|
cfg.SetDefault("timers.distribute_basic_income.mul", 1)
|
|
cfg.SetDefault("timers.distribute_basic_income.div", 1)
|
|
|
|
cfg.SetDefault("notary.deposit_amount", 1_0000_0000) // 1.0 Fixed8
|
|
|
|
cfg.SetDefault("workers.netmap", "10")
|
|
cfg.SetDefault("workers.balance", "10")
|
|
cfg.SetDefault("workers.neofs", "10")
|
|
cfg.SetDefault("workers.container", "10")
|
|
cfg.SetDefault("workers.alphabet", "10")
|
|
cfg.SetDefault("workers.reputation", "10")
|
|
|
|
cfg.SetDefault("netmap_cleaner.enabled", false)
|
|
cfg.SetDefault("netmap_cleaner.threshold", 3)
|
|
|
|
cfg.SetDefault("emit.storage.amount", 0)
|
|
cfg.SetDefault("emit.mint.cache_size", 1000)
|
|
cfg.SetDefault("emit.mint.threshold", 1)
|
|
cfg.SetDefault("emit.mint.value", 20000000) // 0.2 Fixed8
|
|
cfg.SetDefault("emit.gas.balance_threshold", 0)
|
|
|
|
cfg.SetDefault("audit.task.exec_pool_size", 10)
|
|
cfg.SetDefault("audit.task.queue_capacity", 100)
|
|
cfg.SetDefault("audit.timeout.get", "5s")
|
|
cfg.SetDefault("audit.timeout.head", "5s")
|
|
cfg.SetDefault("audit.timeout.rangehash", "5s")
|
|
cfg.SetDefault("audit.timeout.search", "10s")
|
|
cfg.SetDefault("audit.pdp.max_sleep_interval", "5s")
|
|
cfg.SetDefault("audit.pdp.pairs_pool_size", "10")
|
|
cfg.SetDefault("audit.por.pool_size", "10")
|
|
|
|
cfg.SetDefault("settlement.basic_income_rate", 0)
|
|
cfg.SetDefault("settlement.audit_fee", 0)
|
|
|
|
cfg.SetDefault("indexer.cache_timeout", 15*time.Second)
|
|
|
|
cfg.SetDefault("locode.db.path", "")
|
|
|
|
// extra fee values for working mode without notary contract
|
|
cfg.SetDefault("fee.main_chain", 5000_0000) // 0.5 Fixed8
|
|
cfg.SetDefault("fee.side_chain", 2_0000_0000) // 2.0 Fixed8
|
|
}
|