mirror of
https://github.com/status-im/infra-nimbus.git
synced 2025-01-09 21:35:54 +00:00
Jakub Sokołowski
adc1a061c4
Otherwise we'd need some kind of weird logic to compile the list of URLs used by the beacon node, and the node types are exclusive so this is fine. Signed-off-by: Jakub Sokołowski <jakub@status.im>
135 lines
6.4 KiB
YAML
135 lines
6.4 KiB
YAML
---
|
|
# Ports used for all 3 EL nodes as they are mutually exclusive.
|
|
exec_layer_p2p_port: '{{ 30303 + idx|int + 1 }}'
|
|
exec_layer_rpc_port: '{{ 8545 + idx|int + 1 }}'
|
|
exec_layer_authrpc_port: '{{ 8551 + idx|int + 1 }}'
|
|
exec_layer_metrics_port: '{{ 6060 + idx|int + 1 }}'
|
|
|
|
# Go-Ethereum ------------------------------------------------------------------
|
|
|
|
geth_service_name: 'geth-{{ geth_network_name }}-{{ "%02d"|format(idx|int+1) }}'
|
|
geth_service_path: '/docker/{{ geth_service_name }}'
|
|
geth_network_name: 'holesky'
|
|
geth_cont_name: '{{ geth_service_name }}-node'
|
|
geth_cont_vol: '{{ geth_service_path }}/node'
|
|
geth_sync_mode: 'full'
|
|
geth_log_level_name: 'info'
|
|
# Geth auth & JWT token
|
|
geth_account_pass: '{{lookup("bitwarden", "nimbus/geth", field="password")}}'
|
|
geth_authrpc_jwtsecret: '{{lookup("bitwarden", "nimbus/jwt-token")}}'
|
|
# Memory settings
|
|
geth_cont_mem_ratio: 0.2
|
|
# Ports
|
|
geth_rpc_enabled: true
|
|
geth_websocket_enabled: false
|
|
geth_rpc_addr: '0.0.0.0'
|
|
geth_authrpc_addr: '0.0.0.0'
|
|
geth_port: '{{ exec_layer_p2p_port }}'
|
|
geth_rpc_port: '{{ exec_layer_rpc_port }}'
|
|
geth_authrpc_port: '{{ exec_layer_authrpc_port }}'
|
|
geth_metrics_port: '{{ exec_layer_metrics_port }}'
|
|
# Geth metrics¬
|
|
geth_expo_service_name: '{{ geth_service_name }}'
|
|
geth_expo_source_cont_name: '{{ geth_cont_name }}'
|
|
geth_expo_source_data_path: '{{ geth_cont_vol }}/data'
|
|
geth_expo_cont_port: '{{ 9400 + (idx|int) + 1 }}'
|
|
|
|
# Erigon -----------------------------------------------------------------------
|
|
|
|
erigon_network_name: 'holesky'
|
|
erigon_service_name: 'erigon-{{ erigon_network_name }}-{{ "%02d"|format(idx|int+1) }}'
|
|
erigon_prune: 'hrtc' # TODO: Possibly wrong, verify.
|
|
erigon_log_level: 'info'
|
|
erigon_cont_mem_ratio: 0.15
|
|
erigon_max_peers: 20
|
|
erigon_miner_enabled: true
|
|
erigon_mining_private_key: '{{lookup("bitwarden", "nimbus/wallet/testnets", field="private-key")}}'
|
|
# Ports
|
|
erigon_metrics_enabled: true
|
|
erigon_rpc_addr: '0.0.0.0'
|
|
erigon_authrpc_addr: '0.0.0.0'
|
|
erigon_port: '{{ exec_layer_p2p_port }}'
|
|
erigon_rpc_port: '{{ exec_layer_rpc_port }}'
|
|
erigon_metrics_port: '{{ exec_layer_metrics_port }}'
|
|
erigon_authrpc_port: '{{ exec_layer_authrpc_port }}'
|
|
erigon_authrpc_jwtsecret: '{{lookup("bitwarden", "nimbus/jwt-token")}}'
|
|
|
|
# Nethermind -------------------------------------------------------------------
|
|
|
|
nethermind_network_name: 'holesky'
|
|
nethermind_service_name: 'nethermind-{{ nethermind_network_name }}-{{ "%02d"|format(idx|int+1) }}'
|
|
nethermind_service_path: '/docker/{{ nethermind_service_name }}'
|
|
nethermind_account_pass: '{{lookup("bitwarden", "nimbus/geth", field="password")}}'
|
|
nethermind_authrpc_jwtsecret: '{{lookup("bitwarden", "nimbus/jwt-token")}}'
|
|
nethermind_sync_mode: 'snap'
|
|
nethermind_port: '{{ exec_layer_p2p_port }}'
|
|
nethermind_rpc_port: '{{ exec_layer_rpc_port }}'
|
|
nethermind_authrpc_port: '{{ exec_layer_authrpc_port }}'
|
|
nethermind_metrics_port: '{{ exec_layer_metrics_port }}'
|
|
|
|
# Beacon Nodes -----------------------------------------------------------------
|
|
|
|
beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ node.branch }}'
|
|
beacon_node_network: 'holesky'
|
|
beacon_node_repo_branch: '{{ node_name_to_branch_map.get(node.branch, node.branch) }}'
|
|
# We map short names to branches to avoid too long service names.
|
|
node_name_to_branch_map:
|
|
libp2p: 'nim-libp2p-auto-bump-unstable'
|
|
chronos: 'nim-chronos-auto-bump-unstable'
|
|
# Builds
|
|
beacon_node_build_frequency: 'daily'
|
|
beacon_node_build_nim_flags: '-d:noSignalHandler {{ node.get("nim_flags", "") }}'
|
|
# Monitoring
|
|
beacon_node_validator_monitor_auto: true
|
|
beacon_node_validator_monitor_details: >-
|
|
{{ (node.public_api is not defined or not node.public_api)
|
|
and (node.end is defined and (node.end - node.start) <= 64) }}
|
|
# Execution layer Enginer API
|
|
beacon_node_exec_layer_urls: ['http://localhost:{{ exec_layer_authrpc_port }}']
|
|
beacon_node_exec_layer_jwt_secret: '{{ geth_authrpc_jwtsecret | mandatory }}'
|
|
# Suggests it to the Execution Layer client.
|
|
beacon_node_suggested_fee_recipient: '{{lookup("bitwarden", "nimbus/wallet/testnets", field="address")}}'
|
|
# Validators from nimbus-private repo¬
|
|
beacon_node_dist_validators_enabled: '{{ node.start is defined and node.end is defined }}'
|
|
beacon_node_dist_validators_start: '{{ node.get("vc", false) | ternary(0, node.start) | mandatory }}'
|
|
beacon_node_dist_validators_end: '{{ node.get("vc", false) | ternary(0, node.end) | mandatory }}'
|
|
# Ports
|
|
beacon_node_discovery_port: '{{ 9000 + idx|int + 1 }}'
|
|
beacon_node_listening_port: '{{ 9000 + idx|int + 1 }}'
|
|
beacon_node_metrics_port: '{{ 9200 + idx|int + 1 }}'
|
|
beacon_node_rest_port: '{{ 9300 + idx|int + 1 }}'
|
|
beacon_node_rest_address: '0.0.0.0'
|
|
|
|
# Validator Client -------------------------------------------------------------
|
|
|
|
validator_client_service_name: 'validator-client-{{ validator_client_network }}-{{ validator_client_build_repo_branch }}'
|
|
validator_client_service_enabled: '{{ node.get("vc", false) }}'
|
|
validator_client_network: '{{ beacon_node_network }}'
|
|
validator_client_log_level: 'INFO'
|
|
validator_client_beacon_node_url: 'http://127.0.0.1:{{ beacon_node_rest_port }}'
|
|
# Builds
|
|
validator_client_build_repo_branch: '{{ beacon_node_repo_branch }}'
|
|
validator_client_build_frequency: 'daily'
|
|
# Ports
|
|
validator_client_metrics_port: '{{ 8108 + idx|int + 1 }}'
|
|
validator_client_keymanager_port: '{{ 5052 + idx|int + 1 }}'
|
|
# Suggests it to the Execution Layer client and the builder network.
|
|
validator_client_suggested_fee_recipient: '{{lookup("bitwarden", "nimbus/wallet/testnets", field="address")}}'
|
|
# Keymanager
|
|
validator_client_keymanager_enabled: true
|
|
validator_client_keymanager_token: '{{lookup("bitwarden", "nimbus/keymanager", field="token")}}'
|
|
# Validators Distribution
|
|
validator_client_dist_validators_enabled: '{{ node.start is defined and node.end is defined }}'
|
|
validator_client_dist_validators_start: '{{ (not node.get("vc", false)) | ternary(0, node.start) | mandatory }}'
|
|
validator_client_dist_validators_end: '{{ (not node.get("vc", false)) | ternary(0, node.end) | mandatory }}'
|
|
|
|
# Open Ports -------------------------------------------------------------------
|
|
open_ports_default_comment: 'Nimbus REST API'
|
|
open_ports_default_chain: 'VPN'
|
|
open_ports_list:
|
|
- { port: '9300:9310', ipset: '{{ env }}.{{ stage }}' }
|
|
- { port: '6060:6070', ipset: 'metrics.hq', comment: 'EL Metrics' }
|
|
- { port: '9400:9404', ipset: 'metrics.hq', comment: 'Geth Exporter' }
|
|
|
|
# Fleet layout can be found in: ansible/vars/layout/holesky.yml
|