From b5fb2a9543904ede5ac40525ab385e50d4d6f482 Mon Sep 17 00:00:00 2001 From: Pavel Karpy Date: Thu, 24 Nov 2022 15:24:52 +0300 Subject: [PATCH] [#241] node: Provide common params with `.yml` file Signed-off-by: Pavel Karpy --- services/storage/.storage.env | 89 ----------------------------- services/storage/cfg/config.yml | 81 ++++++++++++++++++++++++++ services/storage/docker-compose.yml | 8 +++ 3 files changed, 89 insertions(+), 89 deletions(-) create mode 100644 services/storage/cfg/config.yml diff --git a/services/storage/.storage.env b/services/storage/.storage.env index 50c0d6f..e69de29 100644 --- a/services/storage/.storage.env +++ b/services/storage/.storage.env @@ -1,89 +0,0 @@ -# Logger section -## Minimum enabled logging level -## Default: info -NEOFS_LOGGER_LEVEL=debug - -# Profiler section -NEOFS_PPROF_ENABLED=true -## Server address. Empty value disables profiler -NEOFS_PPROF_ADDRESS=:6060 -## Timeout to shut down the HTTP server -## Default: 30s -#NEOFS_PROFILER_SHUTDOWN_TIMEOUT=1m - -# Application metrics section -NEOFS_PROMETHEUS_ENABLED=true -## Server address. Empty value disables metrics gathering -NEOFS_PROMETHEUS_ADDRESS=:9090 -## Timeout to shut down the HTTP server -## Default: 30s -#NEOFS_METRICS_SHUTDOWN_TIMEOUT=1m - -# Morph section -## Endpoints of sidechain RPC nodes (comma-separated) -## Default: empty list (invalid) -NEOFS_MORPH_RPC_ENDPOINT_0_ADDRESS=ws://morph-chain:30333/ws -## Dial timeout to connect to notification endpoint -## Default: 5s -#NEOFS_MORPH_DIAL_TIMEOUT=1m -# Configure side chain caches (negative value to disable) -#NEOFS_MORPH_CACHE_TTL=15s - -# Cache of API clients section -## Dial timeout to connect to remote API server -## Default: 5s -#NEOFS_APICLIENT_DIAL_TIMEOUT=1m - -# Common storage node attribute -NEOFS_NODE_ATTRIBUTE_0=User-Agent:FrostFS\/0.33 - -NEOFS_NODE_NOTIFICATION_ENABLED=true -NEOFS_NODE_NOTIFICATION_ENDPOINT=tls://nats.frostfs.devenv:4222 -NEOFS_NODE_NOTIFICATION_DEFAULT_TOPIC=test -NEOFS_NODE_NOTIFICATION_CERTIFICATE=/etc/frostfs-node/nats.tls.cert -NEOFS_NODE_NOTIFICATION_KEY=/etc/frostfs-node/nats.tls.key -NEOFS_NODE_NOTIFICATION_CA=/etc/frostfs-node/nats.ca.crt - -# Tree section -NEOFS_TREE_ENABLED=True - -# Object section -## Worker pool capacity of API Object.Put client calls -## Default: 10 -#NEOFS_OBJECT_PUT_POOL_SIZE_REMOTE=100 -#NEOFS_OBJECT_PUT_POOL_SIZE_LOCAL=100 - -# Policer section -## Timeout of Object.Head calls by Policer -## Default: 5s -#NEOFS_POLICER_HEAD_TIMEOUT=1m - -# Replicator section -## Timeout of Object.Put calls by Replicator -## Default: 5s -#NEOFS_REPLICATOR_PUT_TIMEOUT=1m - -# Storage engine configuration -NEOFS_STORAGE_SHARD_0_WRITECACHE_ENABLED=false -NEOFS_STORAGE_SHARD_0_WRITECACHE_PATH=/storage/wc0 -NEOFS_STORAGE_SHARD_0_METABASE_PATH=/storage/meta0 -NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_TYPE=blobovnicza -NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_PATH=/storage/blobovnicza0 -NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_DEPTH=2 -NEOFS_STORAGE_SHARD_0_BLOBSTOR_0_WIDTH=4 -NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_TYPE=fstree -NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_PATH=/storage/fstree0 -NEOFS_STORAGE_SHARD_0_BLOBSTOR_1_DEPTH=2 -NEOFS_STORAGE_SHARD_0_PILORAMA_PATH=/storage/pilorama0 - -NEOFS_STORAGE_SHARD_1_WRITECACHE_ENABLED=false -NEOFS_STORAGE_SHARD_1_WRITECACHE_PATH=/storage/wc1 -NEOFS_STORAGE_SHARD_1_METABASE_PATH=/storage/meta1 -NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_TYPE=blobovnicza -NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_PATH=/storage/blobovnicza1 -NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_DEPTH=2 -NEOFS_STORAGE_SHARD_1_BLOBSTOR_0_WIDTH=4 -NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_TYPE=fstree -NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_PATH=/storage/fstree1 -NEOFS_STORAGE_SHARD_1_BLOBSTOR_1_DEPTH=2 -NEOFS_STORAGE_SHARD_1_PILORAMA_PATH=/storage/pilorama1 diff --git a/services/storage/cfg/config.yml b/services/storage/cfg/config.yml new file mode 100644 index 0000000..49b587f --- /dev/null +++ b/services/storage/cfg/config.yml @@ -0,0 +1,81 @@ +# Logger section +logger: + level: debug # Minimum enabled logging level + +# Profiler section +pprof: + enabled: true + address: :6060 # Server address + shutdown_timeout: 15s # Timeout for profiling HTTP server graceful shutdown + +# Application metrics section +prometheus: + enabled: true + address: :9090 # Server address + shutdown_timeout: 15s # Timeout for metrics HTTP server graceful shutdown + +# Morph section +morph: + dial_timeout: 30s # Timeout for side chain NEO RPC client connection + rpc_endpoint: # Side chain NEO RPC endpoints + - address: ws://morph-chain:30333/ws + priority: 1 + +# Common storage node settings +node: + attribute_0: "User-Agent:FrostFS/0.34" + notification: + enabled: true # Turn on object notification service + endpoint: "tls://nats.frostfs.devenv:4222" # Notification server endpoint + timeout: "6s" # Timeout for object notification client connection + default_topic: "test" # Default topic for object notifications if not found in object's meta + certificate: "/etc/frostfs-node/nats.tls.cert" # Path to TLS certificate + key: "/etc/frostfs-node/nats.tls.key" # Path to TLS key + ca: "/etc/frostfs-node/nats.ca.crt" # Path to optional CA certificate + +# Tree section +tree: + enabled: true + +# Storage engine configuration +storage: + shard: + 0: + writecache: + enabled: false + path: /storage/wc0 # Write-cache root directory + + metabase: + path: /storage/meta0 # Path to the metabase + + blobstor: + - type: blobovnicza + path: /storage/blobovnicza0 # Blobovnicza root directory + depth: 2 + width: 4 + - type: fstree + path: /storage/fstree0 # FSTree root directory + depth: 2 + + pilorama: + path: /storage/pilorama0 # Path to the pilorama database + + 1: + writecache: + enabled: false + path: /storage/wc1 # Write-cache root directory + + metabase: + path: /storage/meta1 # Path to the metabase + + blobstor: + - type: blobovnicza + path: /storage/blobovnicza1 # Blobovnicza root directory + depth: 2 + width: 4 + - type: fstree + path: /storage/fstree1 # FSTree root directory + depth: 2 + + pilorama: + path: /storage/pilorama1 # Path to the pilorama database diff --git a/services/storage/docker-compose.yml b/services/storage/docker-compose.yml index 3e94644..27eceb7 100644 --- a/services/storage/docker-compose.yml +++ b/services/storage/docker-compose.yml @@ -23,8 +23,10 @@ services: - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt + - ./cfg:/etc/frostfs/storage stop_signal: SIGKILL env_file: [ ".env", ".storage.env", ".int_test.env" ] + command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - NEOFS_NODE_WALLET_PATH=./wallet.json - NEOFS_NODE_WALLET_PASSWORD= @@ -61,8 +63,10 @@ services: - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt + - ./cfg:/etc/frostfs/storage stop_signal: SIGKILL env_file: [ ".env", ".storage.env", ".int_test.env" ] + command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - NEOFS_NODE_WALLET_PATH=./wallet.json - NEOFS_NODE_WALLET_PASSWORD= @@ -99,8 +103,10 @@ services: - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt + - ./cfg:/etc/frostfs/storage stop_signal: SIGKILL env_file: [ ".env", ".storage.env", ".int_test.env" ] + command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - NEOFS_NODE_WALLET_PATH=./wallet.json - NEOFS_NODE_WALLET_PASSWORD= @@ -138,8 +144,10 @@ services: - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt + - ./cfg:/etc/frostfs/storage stop_signal: SIGKILL env_file: [ ".env", ".storage.env", ".int_test.env" ] + command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - NEOFS_NODE_WALLET_PATH=./wallet.json - NEOFS_NODE_WALLET_PASSWORD=