infra-nimbus/ansible/group_vars/nimbus.holesky.yml
Jakub Sokołowski adc1a061c4
nimbus.holesky: use the same ports for all EL node types
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>
2023-09-28 14:43:28 +02:00

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