From 1858f11146c8cbb0aa915927f9198a6f6bd82db4 Mon Sep 17 00:00:00 2001
From: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
Date: Fri, 3 Feb 2023 17:59:15 +0300
Subject: [PATCH] [#1] Fix viper env prefix in cli tools

Changing env prefix and corresponding example config files.

Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
---
 cmd/frostfs-cli/modules/root.go              |   2 +-
 cmd/frostfs-ir/defaults.go                   |   4 +-
 cmd/frostfs-node/config/apiclient/config.go  |   4 +-
 cmd/frostfs-node/config/internal/env.go      |   2 +-
 cmd/frostfs-node/config/internal/env_test.go |   2 +-
 cmd/frostfs-node/config/morph/config_test.go |   4 +-
 config/example/README.md                     |   4 +-
 config/example/ir.env                        | 158 ++++++------
 config/example/ir.yaml                       |   4 +-
 config/example/node.env                      | 252 +++++++++----------
 config/example/node.json                     |   4 +-
 config/example/node.yaml                     |   8 +-
 12 files changed, 224 insertions(+), 224 deletions(-)

diff --git a/cmd/frostfs-cli/modules/root.go b/cmd/frostfs-cli/modules/root.go
index 400440e20..a981f6971 100644
--- a/cmd/frostfs-cli/modules/root.go
+++ b/cmd/frostfs-cli/modules/root.go
@@ -26,7 +26,7 @@ import (
 )
 
 const (
-	envPrefix = "NEOFS_CLI"
+	envPrefix = "FROSTFS_CLI"
 )
 
 // Global scope flags.
diff --git a/cmd/frostfs-ir/defaults.go b/cmd/frostfs-ir/defaults.go
index 986f515bd..f2f416e00 100644
--- a/cmd/frostfs-ir/defaults.go
+++ b/cmd/frostfs-ir/defaults.go
@@ -8,14 +8,14 @@ import (
 )
 
 func newConfig(path string) (*viper.Viper, error) {
-	const innerRingPrefix = "neofs_ir"
+	const envPrefix = "FROSTFS_IR"
 
 	var (
 		err error
 		v   = viper.New()
 	)
 
-	v.SetEnvPrefix(innerRingPrefix)
+	v.SetEnvPrefix(envPrefix)
 	v.AutomaticEnv()
 	v.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
 
diff --git a/cmd/frostfs-node/config/apiclient/config.go b/cmd/frostfs-node/config/apiclient/config.go
index 8123ba172..05176f36b 100644
--- a/cmd/frostfs-node/config/apiclient/config.go
+++ b/cmd/frostfs-node/config/apiclient/config.go
@@ -9,10 +9,10 @@ import (
 const (
 	subsection = "apiclient"
 
-	// DialTimeoutDefault is a default dial timeout of NeoFS API client connection.
+	// DialTimeoutDefault is a default dial timeout of FrostFS API client connection.
 	DialTimeoutDefault = 5 * time.Second
 
-	// StreamTimeoutDefault is a default timeout of NeoFS API streaming operation.
+	// StreamTimeoutDefault is a default timeout of FrostFS API streaming operation.
 	StreamTimeoutDefault = 15 * time.Second
 )
 
diff --git a/cmd/frostfs-node/config/internal/env.go b/cmd/frostfs-node/config/internal/env.go
index d0f29fb82..6bf260ac1 100644
--- a/cmd/frostfs-node/config/internal/env.go
+++ b/cmd/frostfs-node/config/internal/env.go
@@ -6,7 +6,7 @@ import (
 
 // EnvPrefix is a prefix of ENV variables related
 // to storage node configuration.
-const EnvPrefix = "neofs"
+const EnvPrefix = "FROSTFS"
 
 // EnvSeparator is a section separator in ENV variables.
 const EnvSeparator = "_"
diff --git a/cmd/frostfs-node/config/internal/env_test.go b/cmd/frostfs-node/config/internal/env_test.go
index 80c8a0e57..8e56b6054 100644
--- a/cmd/frostfs-node/config/internal/env_test.go
+++ b/cmd/frostfs-node/config/internal/env_test.go
@@ -9,7 +9,7 @@ import (
 
 func TestEnv(t *testing.T) {
 	require.Equal(t,
-		"NEOFS_SECTION_PARAMETER",
+		"FROSTFS_SECTION_PARAMETER",
 		internal.Env("section", "parameter"),
 	)
 }
diff --git a/cmd/frostfs-node/config/morph/config_test.go b/cmd/frostfs-node/config/morph/config_test.go
index 9a7085a58..e719aaa72 100644
--- a/cmd/frostfs-node/config/morph/config_test.go
+++ b/cmd/frostfs-node/config/morph/config_test.go
@@ -25,8 +25,8 @@ func TestMorphSection(t *testing.T) {
 
 	var (
 		rpcs = []client.Endpoint{
-			{"wss://rpc1.morph.fs.neo.org:40341/ws", 1},
-			{"wss://rpc2.morph.fs.neo.org:40341/ws", 2},
+			{"wss://rpc1.morph.frostfs.info:40341/ws", 1},
+			{"wss://rpc2.morph.frostfs.info:40341/ws", 2},
 		}
 	)
 
diff --git a/config/example/README.md b/config/example/README.md
index ac1d4c10b..48b614bae 100644
--- a/config/example/README.md
+++ b/config/example/README.md
@@ -1,7 +1,7 @@
 # Examples of correct configuration file structures 
 
 Here are files in all supported formats and with all possible configuration values
-of NeoFS applications. See [node.yaml](node.yaml) for configuration notes.
+of FrostFS applications. See [node.yaml](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.
@@ -19,4 +19,4 @@ It is not recommended transferring these configs for real application launches.
 ## Environment variables
 
 - Storage node: `node.env`
-- Inner ring: `ir.env`
\ No newline at end of file
+- Inner ring: `ir.env`
diff --git a/config/example/ir.env b/config/example/ir.env
index 31ea2fdda..2ec821932 100644
--- a/config/example/ir.env
+++ b/config/example/ir.env
@@ -1,98 +1,98 @@
-NEOFS_IR_LOGGER_LEVEL=info
+FROSTFS_IR_LOGGER_LEVEL=info
 
-NEOFS_IR_WALLET_PATH=/path/to/wallet.json
-NEOFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX
-NEOFS_IR_WALLET_PASSWORD=secret
+FROSTFS_IR_WALLET_PATH=/path/to/wallet.json
+FROSTFS_IR_WALLET_ADDRESS=NUHtW3eM6a4mmFCgyyr4rj4wygsTKB88XX
+FROSTFS_IR_WALLET_PASSWORD=secret
 
-NEOFS_IR_WITHOUT_MAINNET=false
+FROSTFS_IR_WITHOUT_MAINNET=false
 
-NEOFS_IR_MORPH_DIAL_TIMEOUT=5s
-NEOFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS="wss://sidechain1.fs.neo.org:30333/ws"
-NEOFS_IR_MORPH_ENDPOINT_CLIENT_1_ADDRESS="wss://sidechain2.fs.neo.org:30333/ws"
-NEOFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170"
-NEOFS_IR_MORPH_SWITCH_INTERVAL=2m
+FROSTFS_IR_MORPH_DIAL_TIMEOUT=5s
+FROSTFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS="wss://sidechain1.fs.neo.org:30333/ws"
+FROSTFS_IR_MORPH_ENDPOINT_CLIENT_1_ADDRESS="wss://sidechain2.fs.neo.org:30333/ws"
+FROSTFS_IR_MORPH_VALIDATORS="0283120f4c8c1fc1d792af5063d2def9da5fddc90bc1384de7fcfdda33c3860170"
+FROSTFS_IR_MORPH_SWITCH_INTERVAL=2m
 
-NEOFS_IR_MAINNET_DIAL_TIMEOUT=5s
-NEOFS_IR_MAINNET_ENDPOINT_CLIENT_0_ADDRESS="wss://mainchain1.fs.neo.org:30333/ws"
-NEOFS_IR_MAINNET_ENDPOINT_CLIENT_1_ADDRESS="wss://mainchain2.fs.neo.org:30333/ws"
-NEOFS_IR_MAINNET_SWITCH_INTERVAL=2m
+FROSTFS_IR_MAINNET_DIAL_TIMEOUT=5s
+FROSTFS_IR_MAINNET_ENDPOINT_CLIENT_0_ADDRESS="wss://mainchain1.fs.neo.org:30333/ws"
+FROSTFS_IR_MAINNET_ENDPOINT_CLIENT_1_ADDRESS="wss://mainchain2.fs.neo.org:30333/ws"
+FROSTFS_IR_MAINNET_SWITCH_INTERVAL=2m
 
-NEOFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
-NEOFS_IR_CONTROL_GRPC_ENDPOINT=localhost:8090
+FROSTFS_IR_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
+FROSTFS_IR_CONTROL_GRPC_ENDPOINT=localhost:8090
 
-NEOFS_IR_GOVERNANCE_DISABLE=false
+FROSTFS_IR_GOVERNANCE_DISABLE=false
 
-NEOFS_IR_NODE_PERSISTENT_STATE_PATH=.frostfs-ir-state
+FROSTFS_IR_NODE_PERSISTENT_STATE_PATH=.frostfs-ir-state
 
-NEOFS_IR_LOCODE_DB_PATH=/path/to/locode.db
+FROSTFS_IR_LOCODE_DB_PATH=/path/to/locode.db
 
-NEOFS_IR_FEE_MAIN_CHAIN=50000000
-NEOFS_IR_FEE_SIDE_CHAIN=200000000
-NEOFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000
+FROSTFS_IR_FEE_MAIN_CHAIN=50000000
+FROSTFS_IR_FEE_SIDE_CHAIN=200000000
+FROSTFS_IR_FEE_NAMED_CONTAINER_REGISTER=2500000000
 
-NEOFS_IR_TIMERS_EMIT=240
-NEOFS_IR_TIMERS_STOP_ESTIMATION_MUL=1
-NEOFS_IR_TIMERS_STOP_ESTIMATION_DIV=4
-NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1
-NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2
-NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3
-NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4
+FROSTFS_IR_TIMERS_EMIT=240
+FROSTFS_IR_TIMERS_STOP_ESTIMATION_MUL=1
+FROSTFS_IR_TIMERS_STOP_ESTIMATION_DIV=4
+FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_MUL=1
+FROSTFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2
+FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3
+FROSTFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4
 
-NEOFS_IR_EMIT_STORAGE_AMOUNT=800000000
-NEOFS_IR_EMIT_MINT_VALUE=20000000
-NEOFS_IR_EMIT_MINT_CACHE_SIZE=1000
-NEOFS_IR_EMIT_MINT_CACHE_THRESHOLD=1
-NEOFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000
+FROSTFS_IR_EMIT_STORAGE_AMOUNT=800000000
+FROSTFS_IR_EMIT_MINT_VALUE=20000000
+FROSTFS_IR_EMIT_MINT_CACHE_SIZE=1000
+FROSTFS_IR_EMIT_MINT_CACHE_THRESHOLD=1
+FROSTFS_IR_EMIT_GAS_BALANCE_THRESHOLD=100000000000
 
-NEOFS_IR_WORKERS_ALPHABET=10
-NEOFS_IR_WORKERS_BALANCE=10
-NEOFS_IR_WORKERS_CONTAINER=10
-NEOFS_IR_WORKERS_NEOFS=10
-NEOFS_IR_WORKERS_NETMAP=10
-NEOFS_IR_WORKERS_REPUTATION=10
-NEOFS_IR_WORKERS_SUBNET=10
+FROSTFS_IR_WORKERS_ALPHABET=10
+FROSTFS_IR_WORKERS_BALANCE=10
+FROSTFS_IR_WORKERS_CONTAINER=10
+FROSTFS_IR_WORKERS_NEOFS=10
+FROSTFS_IR_WORKERS_NETMAP=10
+FROSTFS_IR_WORKERS_REPUTATION=10
+FROSTFS_IR_WORKERS_SUBNET=10
 
-NEOFS_IR_AUDIT_TIMEOUT_GET=5s
-NEOFS_IR_AUDIT_TIMEOUT_HEAD=5s
-NEOFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s
-NEOFS_IR_AUDIT_TIMEOUT_SEARCH=10s
-NEOFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10
-NEOFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100
-NEOFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10
-NEOFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s
-NEOFS_IR_AUDIT_POR_POOL_SIZE=10
+FROSTFS_IR_AUDIT_TIMEOUT_GET=5s
+FROSTFS_IR_AUDIT_TIMEOUT_HEAD=5s
+FROSTFS_IR_AUDIT_TIMEOUT_RANGEHASH=5s
+FROSTFS_IR_AUDIT_TIMEOUT_SEARCH=10s
+FROSTFS_IR_AUDIT_TASK_EXEC_POOL_SIZE=10
+FROSTFS_IR_AUDIT_TASK_QUEUE_CAPACITY=100
+FROSTFS_IR_AUDIT_PDP_PAIRS_POOL_SIZE=10
+FROSTFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=5s
+FROSTFS_IR_AUDIT_POR_POOL_SIZE=10
 
-NEOFS_IR_INDEXER_CACHE_TIMEOUT=15s
+FROSTFS_IR_INDEXER_CACHE_TIMEOUT=15s
 
-NEOFS_IR_NETMAP_CLEANER_ENABLED=true
-NEOFS_IR_NETMAP_CLEANER_THRESHOLD=3
+FROSTFS_IR_NETMAP_CLEANER_ENABLED=true
+FROSTFS_IR_NETMAP_CLEANER_THRESHOLD=3
 
-NEOFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62
-NEOFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8
-NEOFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f
-NEOFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16
-NEOFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6
-NEOFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a
-NEOFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742
-NEOFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c
-NEOFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff
-NEOFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a
-NEOFS_IR_CONTRACTS_ALPHABET_AMOUNT=7
-NEOFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea
-NEOFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920
-NEOFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19
-NEOFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866
-NEOFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1
-NEOFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38
-NEOFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101
+FROSTFS_IR_CONTRACTS_NEOFS=ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62
+FROSTFS_IR_CONTRACTS_PROCESSING=597f5894867113a41e192801709c02497f611de8
+FROSTFS_IR_CONTRACTS_AUDIT=219e37aed2180b87e7fe945dbf97d67125e8d73f
+FROSTFS_IR_CONTRACTS_BALANCE=d2aa48d14b17b11bc4c68205027884a96706dd16
+FROSTFS_IR_CONTRACTS_CONTAINER=ed4a7a66fe3f9bfe50f214b49be8f215a3c886b6
+FROSTFS_IR_CONTRACTS_NEOFSID=9f5866decbc751a099e74c7c7bc89f609201755a
+FROSTFS_IR_CONTRACTS_NETMAP=83c600c81d47a1b1b7cf58eb49ae7ee7240dc742
+FROSTFS_IR_CONTRACTS_PROXY=abc8794bb40a21f2db5f21ae62741eb46c8cad1c
+FROSTFS_IR_CONTRACTS_REPUTATION=d793b842ff0c103fe89e385069e82a27602135ff
+FROSTFS_IR_CONTRACTS_SUBNET=e9266864d3c562c6e17f2bb9cb1392aaa293d93a
+FROSTFS_IR_CONTRACTS_ALPHABET_AMOUNT=7
+FROSTFS_IR_CONTRACTS_ALPHABET_AZ=c1d211fceeb4b1dc76b8e4054d11fdf887e418ea
+FROSTFS_IR_CONTRACTS_ALPHABET_BUKY=e2ba789320899658b100f331bdebb74474757920
+FROSTFS_IR_CONTRACTS_ALPHABET_VEDI=9623c11fd49aa18220458fbaae0396749c669e19
+FROSTFS_IR_CONTRACTS_ALPHABET_GLAGOLI=39617441b8e06c55e4fc3ce660be9101b6c1f866
+FROSTFS_IR_CONTRACTS_ALPHABET_DOBRO=e6122b65d45c8feeb04455d67814394c147ed4d1
+FROSTFS_IR_CONTRACTS_ALPHABET_YEST=cdbca5cb5d48a4472923844d0e3ee6328cf86d38
+FROSTFS_IR_CONTRACTS_ALPHABET_ZHIVETE=f584699bc2ff457d339fb09f16217042c1a42101
 
-NEOFS_IR_PPROF_ENABLED=true
-NEOFS_IR_PPROF_ADDRESS=localhost:6060
-NEOFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s
+FROSTFS_IR_PPROF_ENABLED=true
+FROSTFS_IR_PPROF_ADDRESS=localhost:6060
+FROSTFS_IR_PPROF_SHUTDOWN_TIMEOUT=30s
 
-NEOFS_IR_PROMETHEUS_ENABLED=true
-NEOFS_IR_PROMETHEUS_ADDRESS=localhost:9090
-NEOFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s
+FROSTFS_IR_PROMETHEUS_ENABLED=true
+FROSTFS_IR_PROMETHEUS_ADDRESS=localhost:9090
+FROSTFS_IR_PROMETHEUS_SHUTDOWN_TIMEOUT=30s
 
-NEOFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100
-NEOFS_IR_SETTLEMENT_AUDIT_FEE=100
+FROSTFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100
+FROSTFS_IR_SETTLEMENT_AUDIT_FEE=100
diff --git a/config/example/ir.yaml b/config/example/ir.yaml
index 3cf4baafb..ae5433f67 100644
--- a/config/example/ir.yaml
+++ b/config/example/ir.yaml
@@ -69,7 +69,7 @@ emit:
   mint:
     value: 20000000  # Fixed8 value of sidechain GAS transferred to account that received a deposit from mainchain
     cache_size: 1000 # LRU cache size of all deposit receivers to avoid double GAS emission
-    threshold: 1     # Lifetime of records in LRU cache of all deposit receivers in NeoFS epochs
+    threshold: 1     # Lifetime of records in LRU cache of all deposit receivers in FrostFS epochs
   gas:
     balance_threshold: 100000000000 # Fixed8 value of inner ring wallet balance threshold when GAS emission for deposit receivers is disabled; disabled by default
 
@@ -102,7 +102,7 @@ indexer:
 
 netmap_cleaner:
   enabled: true # Enable voting for removing stale storage nodes from network map
-  threshold: 3  # Number of NeoFS epoch without bootstrap request from storage node before it considered stale
+  threshold: 3  # Number of FrostFS epoch without bootstrap request from storage node before it considered stale
 
 contracts:
   frostfs: ee3dee6d05dc79c24a5b8f6985e10d68b7cacc62    # Address of FrostFS contract in mainchain; ignore if mainchain is disabled
diff --git a/config/example/node.env b/config/example/node.env
index 4df2d35d0..8901ffb11 100644
--- a/config/example/node.env
+++ b/config/example/node.env
@@ -1,180 +1,180 @@
-NEOFS_LOGGER_LEVEL=debug
+FROSTFS_LOGGER_LEVEL=debug
 
-NEOFS_PPROF_ENABLED=true
-NEOFS_PPROF_ADDRESS=localhost:6060
-NEOFS_PPROF_SHUTDOWN_TIMEOUT=15s
+FROSTFS_PPROF_ENABLED=true
+FROSTFS_PPROF_ADDRESS=localhost:6060
+FROSTFS_PPROF_SHUTDOWN_TIMEOUT=15s
 
-NEOFS_PROMETHEUS_ENABLED=true
-NEOFS_PROMETHEUS_ADDRESS=localhost:9090
-NEOFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s
+FROSTFS_PROMETHEUS_ENABLED=true
+FROSTFS_PROMETHEUS_ADDRESS=localhost:9090
+FROSTFS_PROMETHEUS_SHUTDOWN_TIMEOUT=15s
 
 # Node section
-NEOFS_NODE_KEY=./wallet.key
-NEOFS_NODE_WALLET_PATH=./wallet.json
-NEOFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz
-NEOFS_NODE_WALLET_PASSWORD=password
-NEOFS_NODE_ADDRESSES="s01.frostfs.devenv:8080 /dns4/s02.frostfs.devenv/tcp/8081 grpc://127.0.0.1:8082 grpcs://localhost:8083"
-NEOFS_NODE_ATTRIBUTE_0=Price:11
-NEOFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK"
-NEOFS_NODE_RELAY=true
-NEOFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions
-NEOFS_NODE_PERSISTENT_STATE_PATH=/state
-NEOFS_NODE_SUBNET_EXIT_ZERO=true
-NEOFS_NODE_SUBNET_ENTRIES=123 456 789
-NEOFS_NODE_NOTIFICATION_ENABLED=true
-NEOFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222
-NEOFS_NODE_NOTIFICATION_TIMEOUT=6s
-NEOFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic
-NEOFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path
-NEOFS_NODE_NOTIFICATION_KEY=/key/path
-NEOFS_NODE_NOTIFICATION_CA=/ca/path
+FROSTFS_NODE_KEY=./wallet.key
+FROSTFS_NODE_WALLET_PATH=./wallet.json
+FROSTFS_NODE_WALLET_ADDRESS=NcpJzXcSDrh5CCizf4K9Ro6w4t59J5LKzz
+FROSTFS_NODE_WALLET_PASSWORD=password
+FROSTFS_NODE_ADDRESSES="s01.frostfs.devenv:8080 /dns4/s02.frostfs.devenv/tcp/8081 grpc://127.0.0.1:8082 grpcs://localhost:8083"
+FROSTFS_NODE_ATTRIBUTE_0=Price:11
+FROSTFS_NODE_ATTRIBUTE_1="UN-LOCODE:RU MSK"
+FROSTFS_NODE_RELAY=true
+FROSTFS_NODE_PERSISTENT_SESSIONS_PATH=/sessions
+FROSTFS_NODE_PERSISTENT_STATE_PATH=/state
+FROSTFS_NODE_SUBNET_EXIT_ZERO=true
+FROSTFS_NODE_SUBNET_ENTRIES=123 456 789
+FROSTFS_NODE_NOTIFICATION_ENABLED=true
+FROSTFS_NODE_NOTIFICATION_ENDPOINT=tls://localhost:4222
+FROSTFS_NODE_NOTIFICATION_TIMEOUT=6s
+FROSTFS_NODE_NOTIFICATION_DEFAULT_TOPIC=topic
+FROSTFS_NODE_NOTIFICATION_CERTIFICATE=/cert/path
+FROSTFS_NODE_NOTIFICATION_KEY=/key/path
+FROSTFS_NODE_NOTIFICATION_CA=/ca/path
 
 # Tree service section
-NEOFS_TREE_ENABLED=true
-NEOFS_TREE_CACHE_SIZE=15
-NEOFS_TREE_REPLICATION_CHANNEL_CAPACITY=32
-NEOFS_TREE_REPLICATION_WORKER_COUNT=32
-NEOFS_TREE_REPLICATION_TIMEOUT=5s
-NEOFS_TREE_SYNC_INTERVAL=1h
+FROSTFS_TREE_ENABLED=true
+FROSTFS_TREE_CACHE_SIZE=15
+FROSTFS_TREE_REPLICATION_CHANNEL_CAPACITY=32
+FROSTFS_TREE_REPLICATION_WORKER_COUNT=32
+FROSTFS_TREE_REPLICATION_TIMEOUT=5s
+FROSTFS_TREE_SYNC_INTERVAL=1h
 
 # gRPC section
 ## 0 server
-NEOFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080
+FROSTFS_GRPC_0_ENDPOINT=s01.frostfs.devenv:8080
 ### TLS config
-NEOFS_GRPC_0_TLS_ENABLED=true
-NEOFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert
-NEOFS_GRPC_0_TLS_KEY=/path/to/key
+FROSTFS_GRPC_0_TLS_ENABLED=true
+FROSTFS_GRPC_0_TLS_CERTIFICATE=/path/to/cert
+FROSTFS_GRPC_0_TLS_KEY=/path/to/key
 
 ## 1 server
-NEOFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080
+FROSTFS_GRPC_1_ENDPOINT=s02.frostfs.devenv:8080
 ### TLS config
-NEOFS_GRPC_1_TLS_ENABLED=false
+FROSTFS_GRPC_1_TLS_ENABLED=false
 
 # Control service section
-NEOFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
-NEOFS_CONTROL_GRPC_ENDPOINT=localhost:8090
+FROSTFS_CONTROL_AUTHORIZED_KEYS="035839e45d472a3b7769a2a1bd7d54c4ccd4943c3b40f547870e83a8fcbfb3ce11 028f42cfcb74499d7b15b35d9bff260a1c8d27de4f446a627406a382d8961486d6"
+FROSTFS_CONTROL_GRPC_ENDPOINT=localhost:8090
 
 # Contracts section
-NEOFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd
-NEOFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c
-NEOFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca
-NEOFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90
-NEOFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f
+FROSTFS_CONTRACTS_BALANCE=5263abba1abedbf79bb57f3e40b50b4425d2d6cd
+FROSTFS_CONTRACTS_CONTAINER=5d084790d7aa36cea7b53fe897380dab11d2cd3c
+FROSTFS_CONTRACTS_NETMAP=0cce9e948dca43a6b592efe59ddb4ecb89bdd9ca
+FROSTFS_CONTRACTS_REPUTATION=441995f631c1da2b133462b71859494a5cd45e90
+FROSTFS_CONTRACTS_PROXY=ad7c6b55b737b696e5c82c85445040964a03e97f
 
 # Morph chain section
-NEOFS_MORPH_DIAL_TIMEOUT=30s
-NEOFS_MORPH_CACHE_TTL=15s
-NEOFS_MORPH_SWITCH_INTERVAL=3m
-NEOFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.fs.neo.org:40341/ws"
-NEOFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0
-NEOFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.fs.neo.org:40341/ws"
-NEOFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2
+FROSTFS_MORPH_DIAL_TIMEOUT=30s
+FROSTFS_MORPH_CACHE_TTL=15s
+FROSTFS_MORPH_SWITCH_INTERVAL=3m
+FROSTFS_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.frostfs.info:40341/ws"
+FROSTFS_MORPH_RPC_ENDPOINT_0_PRIORITY=0
+FROSTFS_MORPH_RPC_ENDPOINT_1_ADDRESS="wss://rpc2.morph.frostfs.info:40341/ws"
+FROSTFS_MORPH_RPC_ENDPOINT_1_PRIORITY=2
 
 # API Client section
-NEOFS_APICLIENT_DIAL_TIMEOUT=15s
-NEOFS_APICLIENT_STREAM_TIMEOUT=20s
-NEOFS_APICLIENT_RECONNECT_TIMEOUT=30s
-NEOFS_APICLIENT_ALLOW_EXTERNAL=true
+FROSTFS_APICLIENT_DIAL_TIMEOUT=15s
+FROSTFS_APICLIENT_STREAM_TIMEOUT=20s
+FROSTFS_APICLIENT_RECONNECT_TIMEOUT=30s
+FROSTFS_APICLIENT_ALLOW_EXTERNAL=true
 
 # Policer section
-NEOFS_POLICER_HEAD_TIMEOUT=15s
+FROSTFS_POLICER_HEAD_TIMEOUT=15s
 
 # Replicator section
-NEOFS_REPLICATOR_PUT_TIMEOUT=15s
-NEOFS_REPLICATOR_POOL_SIZE=10
+FROSTFS_REPLICATOR_PUT_TIMEOUT=15s
+FROSTFS_REPLICATOR_POOL_SIZE=10
 
 # Object service section
-NEOFS_OBJECT_PUT_POOL_SIZE_REMOTE=100
+FROSTFS_OBJECT_PUT_POOL_SIZE_REMOTE=100
 
 # Storage engine section
-NEOFS_STORAGE_SHARD_POOL_SIZE=15
-NEOFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100
+FROSTFS_STORAGE_SHARD_POOL_SIZE=15
+FROSTFS_STORAGE_SHARD_RO_ERROR_THRESHOLD=100
 ## 0 shard
 ### Flag to refill Metabase from BlobStor
-NEOFS_STORAGE_SHARD_0_RESYNC_METABASE=false
+FROSTFS_STORAGE_SHARD_0_RESYNC_METABASE=false
 ### Flag to set shard mode
-NEOFS_STORAGE_SHARD_0_MODE=read-only
+FROSTFS_STORAGE_SHARD_0_MODE=read-only
 ### Write cache config
-NEOFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
-NEOFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true
-NEOFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
-NEOFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
-NEOFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728
-NEOFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30
-NEOFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_NO_SYNC=true
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_PATH=tmp/0/cache
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_SMALL_OBJECT_SIZE=16384
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_MAX_OBJECT_SIZE=134217728
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_WORKERS_NUMBER=30
+FROSTFS_STORAGE_SHARD_0_WRITECACHE_CAPACITY=3221225472
 ### Metabase config
-NEOFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta
-NEOFS_STORAGE_SHARD_0_METABASE_PERM=0644
-NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100
-NEOFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms
+FROSTFS_STORAGE_SHARD_0_METABASE_PATH=tmp/0/meta
+FROSTFS_STORAGE_SHARD_0_METABASE_PERM=0644
+FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_SIZE=100
+FROSTFS_STORAGE_SHARD_0_METABASE_MAX_BATCH_DELAY=10ms
 ### Blobstor config
-NEOFS_STORAGE_SHARD_0_COMPRESS=true
-NEOFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*"
-NEOFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400
+FROSTFS_STORAGE_SHARD_0_COMPRESS=true
+FROSTFS_STORAGE_SHARD_0_COMPRESSION_EXCLUDE_CONTENT_TYPES="audio/* video/*"
+FROSTFS_STORAGE_SHARD_0_SMALL_OBJECT_SIZE=102400
 ### Blobovnicza config
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=tmp/0/blob/blobovnicza
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_PERM=0644
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_SIZE=4194304
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=1
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
 ### FSTree config
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644
-NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=tmp/0/blob
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_PERM=0644
+FROSTFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=5
 ### Pilorama config
-NEOFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db"
-NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms
-NEOFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200
+FROSTFS_STORAGE_SHARD_0_PILORAMA_PATH="tmp/0/blob/pilorama.db"
+FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_DELAY=10ms
+FROSTFS_STORAGE_SHARD_0_PILORAMA_MAX_BATCH_SIZE=200
 ### GC config
 #### Limit of the single data remover's batching operation in number of objects
-NEOFS_STORAGE_SHARD_0_GC_REMOVER_BATCH_SIZE=150
+FROSTFS_STORAGE_SHARD_0_GC_REMOVER_BATCH_SIZE=150
 #### Sleep interval between data remover tacts
-NEOFS_STORAGE_SHARD_0_GC_REMOVER_SLEEP_INTERVAL=2m
+FROSTFS_STORAGE_SHARD_0_GC_REMOVER_SLEEP_INTERVAL=2m
 
 ## 1 shard
 ### Flag to refill Metabase from BlobStor
-NEOFS_STORAGE_SHARD_1_RESYNC_METABASE=true
+FROSTFS_STORAGE_SHARD_1_RESYNC_METABASE=true
 ### Flag to set shard mode
-NEOFS_STORAGE_SHARD_1_MODE=read-write
+FROSTFS_STORAGE_SHARD_1_MODE=read-write
 ### Write cache config
-NEOFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
-NEOFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
-NEOFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
-NEOFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728
-NEOFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30
-NEOFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=true
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_PATH=tmp/1/cache
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_SMALL_OBJECT_SIZE=16384
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_MAX_OBJECT_SIZE=134217728
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_WORKERS_NUMBER=30
+FROSTFS_STORAGE_SHARD_1_WRITECACHE_CAPACITY=4294967296
 ### Metabase config
-NEOFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta
-NEOFS_STORAGE_SHARD_1_METABASE_PERM=0644
-NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200
-NEOFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms
+FROSTFS_STORAGE_SHARD_1_METABASE_PATH=tmp/1/meta
+FROSTFS_STORAGE_SHARD_1_METABASE_PERM=0644
+FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_SIZE=200
+FROSTFS_STORAGE_SHARD_1_METABASE_MAX_BATCH_DELAY=20ms
 ### Blobstor config
-NEOFS_STORAGE_SHARD_1_COMPRESS=false
-NEOFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400
+FROSTFS_STORAGE_SHARD_1_COMPRESS=false
+FROSTFS_STORAGE_SHARD_1_SMALL_OBJECT_SIZE=102400
 ### Blobovnicza config
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=tmp/1/blob/blobovnicza
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_SIZE=4194304
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=1
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_0_OPENED_CACHE_CAPACITY=50
 ### FSTree config
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true
-NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=tmp/1/blob
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_PERM=0644
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_NO_SYNC=true
+FROSTFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=5
 ### Pilorama config
-NEOFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db"
-NEOFS_STORAGE_SHARD_1_PILORAMA_PERM=0644
-NEOFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true
-NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms
-NEOFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100
+FROSTFS_STORAGE_SHARD_1_PILORAMA_PATH="tmp/1/blob/pilorama.db"
+FROSTFS_STORAGE_SHARD_1_PILORAMA_PERM=0644
+FROSTFS_STORAGE_SHARD_1_PILORAMA_NO_SYNC=true
+FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_DELAY=5ms
+FROSTFS_STORAGE_SHARD_1_PILORAMA_MAX_BATCH_SIZE=100
 ### GC config
 #### Limit of the single data remover's batching operation in number of objects
-NEOFS_STORAGE_SHARD_1_GC_REMOVER_BATCH_SIZE=200
+FROSTFS_STORAGE_SHARD_1_GC_REMOVER_BATCH_SIZE=200
 #### Sleep interval between data remover tacts
-NEOFS_STORAGE_SHARD_1_GC_REMOVER_SLEEP_INTERVAL=5m
+FROSTFS_STORAGE_SHARD_1_GC_REMOVER_SLEEP_INTERVAL=5m
diff --git a/config/example/node.json b/config/example/node.json
index e739b0572..b74b04ee9 100644
--- a/config/example/node.json
+++ b/config/example/node.json
@@ -105,11 +105,11 @@
     "switch_interval": "3m",
     "rpc_endpoint": [
       {
-        "address": "wss://rpc1.morph.fs.neo.org:40341/ws",
+        "address": "wss://rpc1.morph.frostfs.info:40341/ws",
         "priority": 0
       },
       {
-        "address": "wss://rpc2.morph.fs.neo.org:40341/ws",
+        "address": "wss://rpc2.morph.frostfs.info:40341/ws",
         "priority": 2
       }
     ]
diff --git a/config/example/node.yaml b/config/example/node.yaml
index bf2f0a27b..ed0ae47ac 100644
--- a/config/example/node.yaml
+++ b/config/example/node.yaml
@@ -31,7 +31,7 @@ node:
     path: /state  # path to persistent state file of Storage node
   subnet:
     exit_zero: true # toggle entrance to zero subnet (overrides corresponding attribute and occurrence in `entries`)
-    entries: # list of IDs of subnets to enter in a text format of NeoFS API protocol (overrides corresponding attributes)
+    entries: # list of IDs of subnets to enter in a text format of FrostFS API protocol (overrides corresponding attributes)
       - 123
       - 456
       - 789
@@ -88,13 +88,13 @@ morph:
                   # Cached entities: containers, container lists, eACL tables.
   switch_interval: 3m # interval b/w RPC switch attempts if the node is connected not to the highest priority node
   rpc_endpoint:  # side chain NEO RPC endpoints; are shuffled and used one by one until the first success
-    - address: wss://rpc1.morph.fs.neo.org:40341/ws
+    - address: wss://rpc1.morph.frostfs.info:40341/ws
       priority: 0
-    - address: wss://rpc2.morph.fs.neo.org:40341/ws
+    - address: wss://rpc2.morph.frostfs.info:40341/ws
       priority: 2
 
 apiclient:
-  dial_timeout: 15s  # timeout for NEOFS API client connection
+  dial_timeout: 15s  # timeout for FrostFS API client connection
   stream_timeout: 20s # timeout for individual operations in a streaming RPC
   allow_external: true # allow to fallback to addresses in `ExternalAddr` attribute
   reconnect_timeout: 30s # time to wait before reconnecting to a failed node