frostfs-node/config/example
Alexander Chuprov a2485637bb
All checks were successful
DCO action / DCO (pull_request) Successful in 1m1s
Pre-commit hooks / Pre-commit (pull_request) Successful in 1m48s
Build / Build Components (pull_request) Successful in 1m57s
Tests and linters / gopls check (pull_request) Successful in 2m20s
Tests and linters / Lint (pull_request) Successful in 2m54s
Tests and linters / Tests (pull_request) Successful in 3m1s
Tests and linters / Run gofumpt (pull_request) Successful in 3m9s
Tests and linters / Staticcheck (pull_request) Successful in 3m14s
Tests and linters / Tests with -race (pull_request) Successful in 3m43s
Vulncheck / Vulncheck (pull_request) Successful in 55s
Vulncheck / Vulncheck (push) Successful in 1m5s
Pre-commit hooks / Pre-commit (push) Successful in 1m26s
Build / Build Components (push) Successful in 1m34s
Tests and linters / Staticcheck (push) Successful in 2m4s
Tests and linters / gopls check (push) Successful in 2m23s
Tests and linters / Run gofumpt (push) Successful in 2m38s
Tests and linters / Lint (push) Successful in 2m55s
Tests and linters / Tests (push) Successful in 3m24s
Tests and linters / Tests with -race (push) Successful in 3m28s
[#1593] node/config_example: Add description of morph/cache_ttl=0 behavior
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2025-01-10 15:13:10 +03:00
..
cli.yaml Move to frostfs-node 2022-12-28 15:04:29 +03:00
ir-control.yaml Move to frostfs-node 2022-12-28 15:04:29 +03:00
ir.env [#1422] config: Add multinet config 2024-10-17 13:15:08 +00:00
ir.yaml [#1422] config: Add multinet config 2024-10-17 13:15:08 +00:00
node-control.yaml Move to frostfs-node 2022-12-28 15:04:29 +03:00
node.env [#1452] container: Add ListStream method 2024-12-17 16:22:43 +03:00
node.json [#1452] container: Add ListStream method 2024-12-17 16:22:43 +03:00
node.yaml [#1593] node/config_example: Add description of morph/cache_ttl=0 behavior 2025-01-10 15:13:10 +03:00
README.md [#83] pre-commit: Add initial configuration 2023-03-13 07:07:29 +00:00

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
  • Inner ring
    • YAML: ir.yaml
  • CLI
    • YAML: cli.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 of 02.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