2021-03-18 04:59:45 +00:00
|
|
|
---
|
2022-08-31 17:57:27 +00:00
|
|
|
# Go-Ethereum
|
|
|
|
geth_service_name: 'geth-goerli-{{ "%02d"|format(idx|int+1) }}'
|
|
|
|
geth_service_path: '/docker/{{ geth_service_name }}'
|
|
|
|
geth_network_name: 'goerli'
|
|
|
|
geth_cont_name: '{{ geth_service_name }}-node'
|
|
|
|
geth_cont_vol: '{{ geth_service_path }}/node'
|
|
|
|
geth_sync_mode: 'snap'
|
|
|
|
geth_log_level_name: info
|
|
|
|
geth_account_pass: '{{lookup("bitwarden", "nimbus/geth", field="password")}}'
|
|
|
|
geth_authrpc_jwtsecret: '{{lookup("bitwarden", "nimbus/jwt-token")}}'
|
|
|
|
# Memory settings¬
|
2022-09-08 12:02:14 +00:00
|
|
|
geth_cont_mem_ratio: 0.15
|
|
|
|
geth_cache_size: '{{ (ansible_memtotal_mb * 0.05|float) | int }}'
|
2022-08-31 17:57:27 +00:00
|
|
|
# Ports
|
|
|
|
geth_rpc_enabled: true
|
|
|
|
geth_rpc_addr: '0.0.0.0'
|
|
|
|
geth_rpc_port: '{{ 8545 + (idx|int) + 1 }}'
|
|
|
|
geth_port: '{{ 30303 + (idx|int) + 1 }}'
|
|
|
|
geth_metrics_port: '{{ 6060 + (idx|int) + 1 }}'
|
|
|
|
geth_authrpc_port: '{{ 8551 + (idx|int) + 1 }}'
|
2022-09-21 10:39:19 +00:00
|
|
|
geth_websocket_addr: '0.0.0.0'
|
2022-08-31 17:57:27 +00:00
|
|
|
geth_websocket_port: '{{ 9546 + (idx|int) + 1 }}'
|
|
|
|
# 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 }}'
|
|
|
|
|
|
|
|
# Nimbus Beacon node
|
|
|
|
beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-{{ node.branch }}'
|
2021-03-18 04:59:45 +00:00
|
|
|
beacon_node_network: 'prater'
|
2022-12-08 10:09:05 +00:00
|
|
|
beacon_node_era_dir_path: '{{ nimbus_era_files_timer_path }}'
|
2021-10-25 10:58:59 +00:00
|
|
|
# TODO This is to avoid too long service names.
|
2022-02-17 12:46:56 +00:00
|
|
|
beacon_node_repo_branch: >-
|
|
|
|
{{ node.branch_override is defined | ternary(
|
|
|
|
node.branch_override,
|
|
|
|
((node.branch == "libp2p") | ternary("nim-libp2p-auto-bump-unstable", node.branch))
|
|
|
|
) }}
|
2021-09-29 17:16:09 +00:00
|
|
|
# Ports
|
2022-08-10 14:54:21 +00:00
|
|
|
beacon_node_discovery_port: '{{ 9000 + idx }}'
|
|
|
|
beacon_node_listening_port: '{{ 9000 + idx }}'
|
|
|
|
beacon_node_metrics_port: '{{ 9200 + idx }}'
|
2023-01-04 16:24:02 +00:00
|
|
|
beacon_node_rest_port: '{{ beacon_node_rest_port_base + idx }}'
|
|
|
|
beacon_node_rest_port_base: 9300
|
2022-08-31 17:57:27 +00:00
|
|
|
beacon_node_rest_address: '0.0.0.0'
|
2022-10-28 15:00:35 +00:00
|
|
|
beacon_node_rest_max_body_size: 65536
|
|
|
|
beacon_node_rest_max_headers_size: 1024
|
2021-10-04 21:45:19 +00:00
|
|
|
# Firewall
|
2021-10-05 15:48:01 +00:00
|
|
|
beacon_node_firewall_libp2p_open: '{{ node.get("open_libp2p_ports", true) }}'
|
2021-09-29 17:16:09 +00:00
|
|
|
# Tuning
|
2021-09-21 18:29:04 +00:00
|
|
|
beacon_node_max_peers: 300
|
2022-08-31 17:57:27 +00:00
|
|
|
beacon_node_threads: '{{ (node.branch == "testing") | ternary(4, 1) }}'
|
2022-01-21 11:27:06 +00:00
|
|
|
# Monitoring
|
2022-06-01 09:47:50 +00:00
|
|
|
beacon_node_validator_monitor_auto: true
|
2022-01-21 11:27:06 +00:00
|
|
|
beacon_node_validator_monitor_totals: >-
|
2022-06-01 09:47:50 +00:00
|
|
|
{{ (node.public_api is defined and node.public_api)
|
|
|
|
or (node.end is defined and (node.end - node.start) > 64) }}
|
2021-10-04 19:55:47 +00:00
|
|
|
# Builds
|
2022-08-31 17:57:27 +00:00
|
|
|
beacon_node_nim_commit: '{{ node.get("nim_commit", "") }}'
|
|
|
|
beacon_node_build_nim_flags: '-d:noSignalHandler {{ node.get("nim_flags", "") }}'
|
2021-10-04 19:55:47 +00:00
|
|
|
beacon_node_build_frequency: '{{ node.get("build_freq", "daily") }}'
|
|
|
|
beacon_node_build_start_time: '{{ node.get("build_start", omit) }}'
|
|
|
|
# Validators from nimbus-private repo
|
|
|
|
beacon_node_dist_validators_enabled: '{{ node.start is defined and node.end is defined }}'
|
2022-10-25 16:19:23 +00:00
|
|
|
beacon_node_dist_validators_start: '{{ node.get("validator_client", false) | ternary(0, node.start) | mandatory }}'
|
|
|
|
beacon_node_dist_validators_end: '{{ node.get("validator_client", false) | ternary(0, node.end) | mandatory }}'
|
2022-11-30 08:25:24 +00:00
|
|
|
# Suggests it to the Execution Layer client and the builder network.
|
|
|
|
beacon_node_suggested_fee_recipient: '{{lookup("bitwarden", "nimbus/wallet/testnets", field="address")}}'
|
2021-07-14 12:59:40 +00:00
|
|
|
# Windows service user
|
2021-08-13 20:05:12 +00:00
|
|
|
beacon_node_service_user_pass: '{{lookup("bitwarden", "nimbus/windows", field="password")}}'
|
2022-08-23 13:29:40 +00:00
|
|
|
# MEV Payload Builder
|
|
|
|
beacon_node_payload_builder_enabled: '{{ node.get("payload_builder", false) }}'
|
|
|
|
beacon_node_payload_builder_url: 'https://builder-relay-goerli.flashbots.net/'
|
2022-09-28 13:24:36 +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'
|
|
|
|
# Web3 Auth RPC
|
2022-08-31 17:57:27 +00:00
|
|
|
beacon_node_web3_urls: ['http://localhost:{{ geth_authrpc_port }}']
|
|
|
|
beacon_node_web3_jwt_secret: '{{ geth_authrpc_jwtsecret }}'
|
2023-01-04 16:24:02 +00:00
|
|
|
# Periodic resync to save space
|
|
|
|
beacon_node_resync_enabled: true
|
|
|
|
beacon_node_resync_timer_enabled: '{{ idx % 2 == 1 }}'
|
|
|
|
beacon_node_resync_timer_frequency: 'monthly'
|
|
|
|
beacon_node_resync_timer_random_delay_sec: 604800 # 7 days
|
|
|
|
beacon_node_resync_timer_trusted_api_url: 'http://localhost:{{ beacon_node_rest_port_base }}'
|
2021-07-14 12:59:40 +00:00
|
|
|
|
2022-10-11 11:39:59 +00:00
|
|
|
# Validator Client
|
2022-10-28 08:13:55 +00:00
|
|
|
validator_client_service_name: 'validator-client-{{ validator_client_network }}-{{ node.branch }}'
|
2022-10-11 11:39:59 +00:00
|
|
|
validator_client_service_enabled: '{{ node.get("validator_client", false) }}'
|
|
|
|
validator_client_network: '{{ beacon_node_network }}'
|
2022-10-28 15:00:22 +00:00
|
|
|
validator_client_log_level: 'DEBUG'
|
2022-10-11 11:39:59 +00:00
|
|
|
validator_client_beacon_node_url: 'http://127.0.0.1:{{ beacon_node_rest_port }}'
|
2022-10-11 12:23:29 +00:00
|
|
|
validator_client_doppelganger_detection: false
|
2022-10-11 11:39:59 +00:00
|
|
|
# Builds
|
2022-10-28 08:13:55 +00:00
|
|
|
validator_client_build_repo_branch: '{{ "unstable" if "libp2p" in beacon_node_repo_branch else beacon_node_repo_branch }}'
|
2022-10-11 11:39:59 +00:00
|
|
|
validator_client_build_frequency: 'daily'
|
|
|
|
# Ports
|
|
|
|
validator_client_metrics_port: '{{ 8108 + idx|int + 1 }}'
|
|
|
|
validator_client_keymanager_port: '{{ 5052 + idx|int + 1 }}'
|
2022-11-30 08:25:24 +00:00
|
|
|
# Suggests it to the Execution Layer client and the builder network.
|
|
|
|
validator_client_suggested_fee_recipient: '{{lookup("bitwarden", "nimbus/wallet/testnets", field="address")}}'
|
2022-11-24 12:50:43 +00:00
|
|
|
# MEV Payload Builder
|
|
|
|
validator_client_payload_builder_enabled: '{{ node.get("payload_builder", false) }}'
|
2022-10-11 11:39:59 +00:00
|
|
|
# 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("validator_client", false)) | ternary(0, node.start) | mandatory }}'
|
|
|
|
validator_client_dist_validators_end: '{{ (not node.get("validator_client", false)) | ternary(0, node.end) | mandatory }}'
|
|
|
|
|
2022-11-08 16:56:03 +00:00
|
|
|
# ERA files geneartion.
|
|
|
|
nimbus_era_files_timer_enabled: '{{ (nodes_layout[hostname]|length) > 1 }}'
|
|
|
|
nimbus_era_files_timer_path: '/data/era'
|
|
|
|
nimbus_era_files_network: '{{ beacon_node_network }}'
|
|
|
|
# FIXME: Not pretty, since hardcoded, but the simplest way to do it right now.
|
2022-11-24 12:52:01 +00:00
|
|
|
nimbus_era_files_db_path: '/data/beacon-node-{{ beacon_node_network }}-stable/data/db'
|
|
|
|
# FIXME: Using unstable version to include fixes not present in stable.
|
|
|
|
nimbus_era_files_nclidb_path: '/data/beacon-node-{{ beacon_node_network }}-unstable/repo/build/ncli_db'
|
2022-11-08 16:56:03 +00:00
|
|
|
|
2022-08-16 16:01:55 +00:00
|
|
|
# Open Ports
|
|
|
|
open_ports_default_comment: 'Nimbus REST API'
|
|
|
|
open_ports_default_chain: 'VPN'
|
|
|
|
open_ports_list:
|
|
|
|
- { port: '9300:9310', ipset: '{{ env }}.{{ stage }}' }
|
2022-10-25 18:26:45 +00:00
|
|
|
- { port: '9400:9404', ipset: 'metrics.hq', comment: 'Geth Exporter' }
|
2022-09-19 17:52:31 +00:00
|
|
|
# https://github.com/status-im/infra-nim-waku/issues/59
|
2022-09-21 10:39:19 +00:00
|
|
|
- { port: '9546:9550', ipset: 'wakuv2.test', comment: 'Wakuv2 Websocket' }
|
2022-08-16 16:01:55 +00:00
|
|
|
|
2021-06-28 14:41:04 +00:00
|
|
|
# Split by hostname for more central location
|
2021-10-04 19:55:47 +00:00
|
|
|
nodes_layout:
|
2022-02-15 20:10:38 +00:00
|
|
|
# WARNING: The nodes hosted on AWS are bootstrap nodes and should not be changed.
|
|
|
|
'stable-large-01.aws-eu-central-1a.nimbus.prater': # 2000 each
|
|
|
|
- { branch: 'stable', start: 0, end: 2000 }
|
2021-10-04 19:55:47 +00:00
|
|
|
|
2022-02-15 20:10:38 +00:00
|
|
|
'testing-large-01.aws-eu-central-1a.nimbus.prater': # 2000 each
|
|
|
|
- { branch: 'testing', start: 2000, end: 4000 }
|
2021-10-04 19:55:47 +00:00
|
|
|
|
2022-02-15 20:10:38 +00:00
|
|
|
'unstable-large-01.aws-eu-central-1a.nimbus.prater': # 2000 each
|
2022-09-29 13:03:34 +00:00
|
|
|
- { branch: 'unstable', start: 4000, end: 6000, payload_builder: true }
|
2021-10-04 19:55:47 +00:00
|
|
|
|
2022-02-15 20:10:38 +00:00
|
|
|
'macos-01.ms-eu-dublin.nimbus.prater': # 2000 each
|
|
|
|
- { branch: 'stable', start: 6000, end: 8000, build_start: '13:00:00' }
|
|
|
|
- { branch: 'testing', start: 8000, end: 10000, build_start: '15:00:00' }
|
2022-07-01 12:15:11 +00:00
|
|
|
- { branch: 'unstable', start: 12000, end: 14000, build_start: '16:00:00', nim_flags: '-d:json_rpc_websocket_package=websock' }
|
2021-10-04 19:55:47 +00:00
|
|
|
|
2022-02-28 12:14:04 +00:00
|
|
|
'windows-01.he-eu-hel1.nimbus.prater': # 2000 each
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'stable', start: 14000, end: 16000, build_start: '13:00:00' }
|
|
|
|
- { branch: 'testing', start: 16000, end: 18000, build_start: '15:00:00' }
|
2022-07-01 12:15:11 +00:00
|
|
|
- { branch: 'unstable', start: 18000, end: 20000, build_start: '16:00:00', nim_flags: '-d:json_rpc_websocket_package=websock' }
|
2021-10-04 21:45:19 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-01.he-eu-hel1.nimbus.prater': # 0 each
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'stable', build_freq: '*-*-* 13:00:00' }
|
2022-06-28 17:12:24 +00:00
|
|
|
- { branch: 'testing', build_freq: '*-*-* 15:00:00', nim_commit: 'version-1-6' }
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'unstable', build_freq: '*-*-* 17:00:00', public_api: true }
|
|
|
|
- { branch: 'libp2p', build_freq: '*-*-* 19:00:00' }
|
2022-02-15 20:09:27 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-02.he-eu-hel1.nimbus.prater': # 1 each
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'stable', start: 20000, end: 20001, build_freq: '*-*-* 13:00:00' }
|
2022-06-28 17:12:24 +00:00
|
|
|
- { branch: 'testing', start: 20001, end: 20002, build_freq: '*-*-* 15:00:00', nim_commit: 'version-1-6', public_api: true }
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'unstable', start: 20002, end: 20003, build_freq: '*-*-* 17:00:00' }
|
|
|
|
- { branch: 'libp2p', start: 20003, end: 20004, build_freq: '*-*-* 19:00:00' }
|
2022-02-16 16:19:23 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-03.he-eu-hel1.nimbus.prater': # 10 each
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'stable', start: 20004, end: 20014, build_freq: '*-*-* 11:00:00' }
|
2022-06-28 17:12:24 +00:00
|
|
|
- { branch: 'testing', start: 20024, end: 20034, build_freq: '*-*-* 15:00:00', nim_commit: 'version-1-6' }
|
2022-10-24 14:09:21 +00:00
|
|
|
- { branch: 'unstable', start: 20014, end: 20024, build_freq: '*-*-* 13:00:00', validator_client: true, open_libp2p_ports: false }
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'libp2p', start: 20034, end: 20044, build_freq: '*-*-* 17:00:00' }
|
2022-02-16 16:19:23 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-04.he-eu-hel1.nimbus.prater': # 30 each
|
2022-10-11 11:39:59 +00:00
|
|
|
- { branch: 'stable', start: 20044, end: 20074, build_freq: '*-*-* 11:00:00', validator_client: true }
|
2022-06-28 17:12:24 +00:00
|
|
|
- { branch: 'testing', start: 20104, end: 20134, build_freq: '*-*-* 15:00:00', nim_commit: 'version-1-6' }
|
2022-08-23 13:29:40 +00:00
|
|
|
- { branch: 'unstable', start: 20074, end: 20104, build_freq: '*-*-* 13:00:00', payload_builder: true }
|
2022-07-01 12:15:11 +00:00
|
|
|
- { branch: 'libp2p', start: 20134, end: 20164, build_freq: '*-*-* 17:00:00', nim_flags: '-d:json_rpc_websocket_package=websock' }
|
2022-02-16 16:19:23 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-05.he-eu-hel1.nimbus.prater': # 60 each
|
2022-02-15 20:10:38 +00:00
|
|
|
- { branch: 'stable', start: 20164, end: 20224, build_freq: '*-*-* 11:00:00' }
|
2022-06-22 09:39:15 +00:00
|
|
|
- { branch: 'testing', start: 20284, end: 20344, build_freq: '*-*-* 15:00:00', nim_commit: 'version-1-6' }
|
2022-09-29 13:03:34 +00:00
|
|
|
- { branch: 'unstable', start: 20224, end: 20284, build_freq: '*-*-* 13:00:00', open_libp2p_ports: false }
|
2022-07-01 12:15:11 +00:00
|
|
|
- { branch: 'libp2p', start: 20344, end: 20404, build_freq: '*-*-* 17:00:00', nim_commit: 'version-1-6', nim_flags: '-d:json_rpc_websocket_package=websock' }
|
2022-02-15 20:09:27 +00:00
|
|
|
|
2022-08-31 17:57:27 +00:00
|
|
|
'linux-06.he-eu-hel1.nimbus.prater':
|
2022-05-05 14:11:51 +00:00
|
|
|
- { branch: 'stable', start: 20404, end: 31303, build_freq: '*-*-* 11:00:00' } # 10899 validators
|
2022-11-24 12:50:43 +00:00
|
|
|
- { branch: 'testing', start: 31303, end: 39202, build_freq: '*-*-* 15:00:00', validator_client: true, payload_builder: true, open_libp2p_ports: false, nim_commit: 'version-1-6' } # 7899 validators
|
2022-11-30 11:44:27 +00:00
|
|
|
- { branch: 'unstable', start: 39202, end: 45101, build_freq: '*-*-* 13:00:00', payload_builder: true } # 5899 validators
|
2022-10-28 08:13:55 +00:00
|
|
|
- { branch: 'libp2p', start: 45101, end: 49617, build_freq: '*-*-* 17:00:00', validator_client: true } # 4516 validators
|