From 1858f11146c8cbb0aa915927f9198a6f6bd82db4 Mon Sep 17 00:00:00 2001 From: Stanislav Bogatyrev 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 --- 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