2023-09-15 14:23:59 +00:00
|
|
|
---
|
2023-09-28 12:43:28 +00:00
|
|
|
# Ports used for all 3 EL nodes as they are mutually exclusive.
|
2023-10-02 17:42:16 +00:00
|
|
|
exec_layer_p2p_port: '{{ 30303 + 10*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 }}'
|
2023-09-28 12:43:28 +00:00
|
|
|
|
2023-09-15 14:23:59 +00:00
|
|
|
# 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
|
2023-09-28 12:43:28 +00:00
|
|
|
geth_websocket_enabled: false
|
2023-09-15 14:23:59 +00:00
|
|
|
geth_rpc_addr: '0.0.0.0'
|
|
|
|
geth_authrpc_addr: '0.0.0.0'
|
2023-09-28 12:43:28 +00:00
|
|
|
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 }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
# 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'
|
2023-10-02 17:42:16 +00:00
|
|
|
erigon_port: '{{ exec_layer_p2p_port }}'
|
|
|
|
erigon_p2p_allowed_ports: ['{{ erigon_port }}', '{{ erigon_port|int + 1 }}']
|
|
|
|
erigon_rpc_port: '{{ exec_layer_rpc_port }}'
|
|
|
|
erigon_metrics_port: '{{ exec_layer_metrics_port }}'
|
|
|
|
erigon_authrpc_port: '{{ exec_layer_authrpc_port }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
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'
|
2023-09-28 12:43:28 +00:00
|
|
|
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 }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
|
|
|
|
# Beacon Nodes -----------------------------------------------------------------
|
|
|
|
|
2023-09-27 14:53:35 +00:00
|
|
|
beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ node.branch }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
beacon_node_network: 'holesky'
|
|
|
|
beacon_node_repo_branch: '{{ node_name_to_branch_map.get(node.branch, node.branch) }}'
|
2023-12-01 10:19:51 +00:00
|
|
|
# Tuning
|
|
|
|
beacon_node_history_retention: '{{ "archive" if node.get("public_api") else node.get("history", "prune") }}'
|
2024-06-11 22:34:00 +00:00
|
|
|
beacon_node_extra_flags: '{{ node.extra_flags if node.extra_flags is defined else {} }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
# 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
|
2024-06-11 06:16:54 +00:00
|
|
|
beacon_node_update_frequency: '*-*-* {{ "%02d" | format(idx * 2) }}:00:00'
|
|
|
|
beacon_node_update_build_nim_flags: '-d:noSignalHandler {{ node.get("nim_flags", "") }}'
|
2024-05-22 15:53:39 +00:00
|
|
|
beacon_node_update_build_targets: ['nimbus_beacon_node', 'ncli_db']
|
2023-09-15 14:23:59 +00:00
|
|
|
# Monitoring
|
|
|
|
beacon_node_validator_monitor_auto: true
|
|
|
|
beacon_node_validator_monitor_details: >-
|
|
|
|
{{ (node.public_api is not defined or not node.public_api)
|
2024-02-29 01:31:01 +00:00
|
|
|
and (node.end is defined and (node.end - node.start) < 10) }}
|
2023-09-15 14:23:59 +00:00
|
|
|
# Execution layer Enginer API
|
2023-09-28 12:43:28 +00:00
|
|
|
beacon_node_exec_layer_urls: ['http://localhost:{{ exec_layer_authrpc_port }}']
|
2023-09-15 14:23:59 +00:00
|
|
|
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")}}'
|
2024-03-26 11:41:44 +00:00
|
|
|
# Windows service user
|
|
|
|
beacon_node_service_user_pass: '{{lookup("bitwarden", "nimbus/windows", field="password")}}'
|
2024-01-25 16:50:07 +00:00
|
|
|
# MEV Payload Builder
|
|
|
|
beacon_node_payload_builder_enabled: '{{ node.get("payload_builder", false) }}'
|
|
|
|
beacon_node_payload_builder_url: 'https://boost-relay-holesky.flashbots.net/'
|
2023-12-01 10:19:51 +00:00
|
|
|
# Light client data
|
|
|
|
beacon_node_light_client_data_enabled: '{{ (node.public_api is defined and node.public_api) }}'
|
|
|
|
beacon_node_light_client_data_serve: true
|
|
|
|
beacon_node_light_client_data_import_mode: 'full'
|
2023-09-15 14:23:59 +00:00
|
|
|
# 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
|
2024-06-18 10:02:49 +00:00
|
|
|
beacon_node_rest_port_base: 9300
|
|
|
|
beacon_node_rest_port: '{{ beacon_node_rest_port_base + idx|int + 1 }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
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_address: '0.0.0.0'
|
|
|
|
|
2024-03-30 08:59:34 +00:00
|
|
|
# Reduce Consul alerts sensitivity
|
2024-06-14 17:18:49 +00:00
|
|
|
beacon_node_consul_check_disabled: '{{ node.get("public_api", false) }}'
|
2024-04-23 10:49:42 +00:00
|
|
|
beacon_node_consul_check_interval: '60s'
|
|
|
|
beacon_node_consul_check_timeout: '10s'
|
2024-06-13 08:37:16 +00:00
|
|
|
beacon_node_consul_success_before_passing: '{{ 60 if not node.get("public_api") else 1 }}' # 1h or 60s for public API
|
|
|
|
beacon_node_consul_failures_before_warning: '{{ 360 if not node.get("public_api") else 1440 }}' # 6h or 24h for public API
|
|
|
|
beacon_node_consul_failures_before_critical: '{{ 720 if not node.get("public_api") else 2880 }}' # 12h or 48h for public API
|
2024-03-30 08:59:34 +00:00
|
|
|
|
2023-09-15 14:23:59 +00:00
|
|
|
# Validator Client -------------------------------------------------------------
|
|
|
|
|
2024-02-02 15:29:19 +00:00
|
|
|
validator_client_service_name: 'validator-client-{{ validator_client_network }}-{{ node.branch }}'
|
2023-09-15 14:23:59 +00:00
|
|
|
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 }}'
|
|
|
|
|
2024-05-22 15:53:39 +00:00
|
|
|
# ERA files geneartion ---------------------------------------------------------
|
2024-09-16 06:10:36 +00:00
|
|
|
nimbus_era_files_timer_enabled: '{{ (nodes_layout[inventory_hostname]|length) > 1 }}'
|
2024-05-22 15:53:39 +00:00
|
|
|
nimbus_era_files_timer_path: '/data/era'
|
|
|
|
nimbus_era_files_network: '{{ beacon_node_network }}'
|
|
|
|
nimbus_era_files_db_path: '/data/beacon-node-{{ beacon_node_network }}-unstable/data/db'
|
|
|
|
nimbus_era_files_nclidb_path: '/data/beacon-node-{{ beacon_node_network }}-unstable/repo/build/ncli_db'
|
|
|
|
|
2023-09-16 09:38:40 +00:00
|
|
|
# Open Ports -------------------------------------------------------------------
|
|
|
|
open_ports_default_chain: 'VPN'
|
|
|
|
open_ports_list:
|
2024-06-20 14:17:16 +00:00
|
|
|
- { port: '80', chain: 'SERVICES', comment: 'Nginx' }
|
|
|
|
- { port: '443', chain: 'SERVICES', comment: 'Nginx' }
|
2023-10-02 17:42:16 +00:00
|
|
|
- { port: '6060:6070', ipset: 'metrics.hq', comment: 'EL Metrics' }
|
|
|
|
- { port: '9400:9404', ipset: 'metrics.hq', comment: 'Geth Exporter' }
|
|
|
|
- { port: '9300:9310', ipset: '{{ env }}.{{ stage }}', comment: 'Nimbus REST API' }
|
2023-09-16 09:38:40 +00:00
|
|
|
|
2023-09-15 14:23:59 +00:00
|
|
|
# Fleet layout can be found in: ansible/vars/layout/holesky.yml
|