diff --git a/services/ir/.ir.env b/services/ir/.ir.env index ddc40e6..ce4e331 100644 --- a/services/ir/.ir.env +++ b/services/ir/.ir.env @@ -1,42 +1,3 @@ -NEOFS_IR_LOGGER_LEVEL=debug - -# Profiler section -NEOFS_IR_PPROF_ENABLED=true -## Server address. Empty value disables profiler -NEOFS_IR_PPROF_ADDRESS=:6060 -## Timeout to shut down the HTTP server -## Default: 30s -#NEOFS_IR_PROFILER_SHUTDOWN_TIMEOUT=1m - -# Application metrics section -NEOFS_IR_PROMETHEUS_ENABLED=true -## Server address. Empty value disables metrics gathering -NEOFS_IR_PROMETHEUS_ADDRESS=:9090 -## Timeout to shut down the HTTP server -## Default: 30s -#NEOFS_IR_METRICS_SHUTDOWN_TIMEOUT=1m - -# Toggling the sidechain-only mode -NEOFS_IR_WITHOUT_MAINNET=true - -NEOFS_IR_MORPH_ENDPOINT_CLIENT_0_ADDRESS=ws://morph-chain:30333/ws -NEOFS_IR_TIMERS_EMIT=50 -NEOFS_IR_TIMERS_STOP_ESTIMATION_DIV=4 -NEOFS_IR_TIMERS_COLLECT_BASIC_INCOME_DIV=2 -NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_MUL=3 -NEOFS_IR_TIMERS_DISTRIBUTE_BASIC_INCOME_DIV=4 - -NEOFS_IR_EMIT_STORAGE_AMOUNT=1000000000 -NEOFS_IR_NETMAP_CLEANER_ENABLED=true - NEOFS_IR_CONTRACTS_FROSTFSID=1943e9bb78a0fe2fe0c95fd2677eec2da6aa4aa5 -NEOFS_IR_MORPH_VALIDATORS=02b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc2 -NEOFS_IR_AUDIT_PDP_MAX_SLEEP_INTERVAL=100ms - -NEOFS_IR_SETTLEMENT_BASIC_INCOME_RATE=100000000 -NEOFS_IR_SETTLEMENT_AUDIT_FEE=100000 - -NEOFS_IR_LOCODE_DB_PATH=/locode/db - NEOFS_IR_CONTROL_GRPC_ENDPOINT=127.0.0.1:16512 diff --git a/services/ir/cfg/config.yml b/services/ir/cfg/config.yml new file mode 100644 index 0000000..bb15b3b --- /dev/null +++ b/services/ir/cfg/config.yml @@ -0,0 +1,76 @@ +# Logger section +logger: + level: debug # Minimum enabled logging level + +# Wallet settings +wallet: + path: /wallet.json # Path to NEP-6 NEO wallet file + address: Nhfg3TbpwogLvDGVvAvqyThbsHgoSUKwtn # Account address in the wallet; ignore to use default address + password: one # Account password in the wallet + +# Profiler section +pprof: + enabled: true + address: :6060 # Endpoint for application pprof profiling; disabled by default + shutdown_timeout: 30s # Timeout for profiling HTTP server graceful shutdown + +# Application metrics section +prometheus: + enabled: true + address: :9090 # Endpoint for application prometheus metrics; disabled by default + shutdown_timeout: 30s # Timeout for metrics HTTP server graceful shutdown + +# Toggling the sidechain-only mode +without_mainnet: true + +# Neo main chain RPC settings +mainnet: + endpoint: + client: # List of websocket RPC endpoints in mainchain; ignore if mainchain is disabled + - address: ws://main-chain:30333/ws + +# Neo side chain RPC settings +morph: + endpoint: + client: # List of websocket RPC endpoints in sidechain + - address: ws://morph-chain:30333/ws + validators: # List of hex-encoded 33-byte public keys of sidechain validators to vote for at application startup + - 02b3622bf4017bdfe317c58aed5f4c753f206b7db896046fa7d774bbc4bf7f8dc2 + +# Network time settings +timers: + emit: 50 # Number of sidechain blocks between GAS emission cycles; disabled by default + stop_estimation: + mul: 1 # Multiplier in x/y relation of when to stop basic income estimation within the epoch + div: 4 # Divider in x/y relation of when to stop basic income estimation within the epoch + collect_basic_income: + mul: 1 # Multiplier in x/y relation of when to start basic income asset collection within the epoch + div: 2 # Divider in x/y relation of when to start basic income asset collecting within the epoch + distribute_basic_income: + mul: 3 # Multiplier in x/y relation of when to start basic income asset distribution within the epoch + div: 4 # Divider in x/y relation of when to start basic income asset distribution within the epoch + +# Storage node GAS emission settings +emit: + storage: + amount: 1000000000 # Fixed8 value of sidechain GAS emitted to all storage nodes once per GAS emission cycle; disabled by default + +# Storage node removal settings +netmap_cleaner: + enabled: true # Enable voting for removing stale storage nodes from network map + threshold: 3 # Number of FrostFS epoch without bootstrap request from storage node before it considered stale + +# Audit settings +audit: + pdp: + max_sleep_interval: 100ms # Maximum timeout between object.RangeHash requests to the storage node + +# Settlement settings +settlement: + basic_income_rate: 100000000 # Optional: override basic income rate value from network config; applied only in debug mode + audit_fee: 100000 # Optional: override audit fee value from network config; applied only in debug mode + +# LOCODE database +locode: + db: + path: /locode/db # Path to UN/LOCODE database file diff --git a/services/ir/docker-compose.yml b/services/ir/docker-compose.yml index cf23e22..77ec50d 100644 --- a/services/ir/docker-compose.yml +++ b/services/ir/docker-compose.yml @@ -21,11 +21,9 @@ services: - ./../../vendor/locode_db:/locode/db - ./../../vendor/frostfs-cli:/frostfs-cli - ./healthcheck.sh:/healthcheck.sh + - ./cfg:/etc/frostfs/ir env_file: [ ".env", ".ir.env", ".int_test.env" ] - environment: - - NEOFS_IR_WALLET_PATH=/wallet.json - - NEOFS_IR_WALLET_ADDRESS=Nhfg3TbpwogLvDGVvAvqyThbsHgoSUKwtn - - NEOFS_IR_WALLET_PASSWORD=one + command: [ "frostfs-ir", "--config", "/etc/frostfs/ir/config.yml" ] healthcheck: test: ["CMD-SHELL", "/healthcheck.sh"] interval: 2s