Evgenii Stratonikov
95d9455d30
All checks were successful
Vulncheck / Vulncheck (pull_request) Successful in 11m29s
Build / Build Components (1.21) (pull_request) Successful in 13m36s
DCO action / DCO (pull_request) Successful in 14m36s
Tests and linters / gopls check (pull_request) Successful in 24m0s
Build / Build Components (1.22) (pull_request) Successful in 24m43s
Tests and linters / Lint (pull_request) Successful in 28m23s
Pre-commit hooks / Pre-commit (pull_request) Successful in 32m19s
Tests and linters / Staticcheck (pull_request) Successful in 31m53s
Tests and linters / Tests (1.22) (pull_request) Successful in 4m32s
Tests and linters / Tests (1.21) (pull_request) Successful in 4m39s
Tests and linters / Tests with -race (pull_request) Successful in 5m9s
It is unused and will be reworked in future. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com> |
||
---|---|---|
.. | ||
cli.yaml | ||
ir-control.yaml | ||
ir.env | ||
ir.yaml | ||
node-control.yaml | ||
node.env | ||
node.json | ||
node.yaml | ||
README.md |
Examples of correct configuration file structures
Here are files in all supported formats and with all possible configuration values of FrostFS applications. See node.yaml for configuration notes.
All parameters are correct, however, they are for informational purposes only. It is not recommended transferring these configs for real application launches.
Config files
- Storage node
- JSON:
node.json
- YAML:
node.yaml
- JSON:
- Inner ring
- YAML:
ir.yaml
- YAML:
- CLI
- YAML:
cli.yaml
- YAML:
Multiple configs
You can split your configuration to several files.
For example, you can use separate yaml file for each shard or each service (pprof, prometheus).
You must use --config-dir
flag to process several configs:
$ ./bin/frotsfs-node --config ./config/example/node.yaml --config-dir ./dir/with/additional/configs
When the --config-dir
flag set, the application:
- reads all
*.y[a]ml
files from provided directory, - use Viper's MergeConfig functionality to produce the final configuration,
- files are being processing in alphanumerical order so that
01.yaml
may be extended with contents of02.yaml
, so if a field is specified in multiple files, the latest occurrence takes effect.
So if we have the following files:
# 00.yaml
logger:
level: debug
pprof:
enabled: true
address: localhost:6060
prometheus:
enabled: true
address: localhost:9090
# dir/01.yaml
logger:
level: info
pprof:
enabled: false
# dir/02.yaml
logger:
level: warn
prometheus:
address: localhost:9091
and provide the following flags:
$ ./bin/frotsfs-node --config 00.yaml --config-dir dir
result config will be:
logger:
level: warn
pprof:
enabled: false
address: localhost:6060
prometheus:
enabled: true
address: localhost:9091
Environment variables
- Storage node:
node.env
- Inner ring:
ir.env