diff --git a/ansible/geth.yml b/ansible/geth.yml index 239471c..fdaacd4 100644 --- a/ansible/geth.yml +++ b/ansible/geth.yml @@ -22,8 +22,9 @@ - name: Deploy prater Geth nodes for Windows become: true serial: '{{ serial|default(1) }}' + vars_files: layout/holesky.yml hosts: - - nimbus-geth-goerli + - nimbus-geth-holesky roles: - { role: infra-role-open-ports, tags: open-ports } - { role: infra-role-smart-metrics, tags: smart-metrics } diff --git a/ansible/group_vars/nimbus-geth-holesky.yml b/ansible/group_vars/nimbus-geth-holesky.yml new file mode 100644 index 0000000..aed904c --- /dev/null +++ b/ansible/group_vars/nimbus-geth-holesky.yml @@ -0,0 +1,40 @@ +--- +# Syncing can use a lot of mamory +swap_file_size_mb: 4096 + +# Geth node +geth_service_name: 'geth-{{ geth_network_name }}-{{ "%02d"|format(idx|int+1) }}' +geth_service_path: '/docker/{{ geth_service_name }}' +geth_cont_name: '{{ geth_service_name }}-node' +geth_cont_vol: '{{ geth_service_path }}/node' +geth_network_name: 'holesky' +geth_sync_mode: 'full' +geth_log_level_name: info +geth_consul_advertised_address: '{{ hostname }}.wg' +# 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.8 +geth_cache_size: '{{ (ansible_memtotal_mb * 0.25|float) | int }}' +# Ports +geth_port: '{{ 30303 + (idx|int) + 1 }}' +geth_rpc_port: '{{ 8545 + (idx|int) + 1 }}' +geth_metrics_port: '{{ 6060 + (idx|int) + 1 }}' +geth_websocket_port: '{{ 9546 + (idx|int) + 1 }}' +geth_authrpc_port: '{{ 8551 + (idx|int) + 1 }}' +geth_authrpc_addr: '0.0.0.0' + +# 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 }}' + +# Open Ports +open_ports_default_comment: 'Geth API' +open_ports_default_chain: 'VPN' +open_ports_list: + - { port: '9400:9404', ipset: 'metrics.hq', comment: 'Geth Metrics' } + - { port: '8551:8554', ipset: 'nimbus.holesky', comment: Geth } + - { port: '{{ smart_metrics_listen_port }}', ipset: 'metrics.hq', comment: 'SMART Metrics' } diff --git a/ansible/holesky.yml b/ansible/holesky.yml index 0c31359..6766ec6 100644 --- a/ansible/holesky.yml +++ b/ansible/holesky.yml @@ -9,10 +9,13 @@ - local_action: command ./versioncheck.py changed_when: false -- name: Deploy Holesky Beacon Nodes +- name: Deploy Holesky Linux Beacon Nodes become: true serial: '{{ serial|default(1) }}' - hosts: nimbus.holesky + hosts: + - nimbus-holesky-geth + - nimbus-holesky-erigon + - nimbus-holesky-neth vars_files: layout/holesky.yml roles: - role: update-netplan @@ -22,3 +25,14 @@ - include_role: name=infra-role-beacon-node-linux with_items: '{{ nodes_layout[hostname] }}' loop_control: { loop_var: node, index_var: idx } + +- name: Deploy Holesky MacOS Beacon Nodes + become: true + serial: '{{ serial|default(1) }}' + hosts: + - nimbus-holesky-macm2 + vars_files: layout/holesky.yml + tasks: + - include_role: name=infra-role-beacon-node-macos + with_items: '{{ nodes_layout[hostname] }}' + loop_control: { loop_var: node, index_var: idx } diff --git a/ansible/host_vars/macm2-01.ih-eu-mda1.nimbus.holesky.yml b/ansible/host_vars/macm2-01.ih-eu-mda1.nimbus.holesky.yml new file mode 100644 index 0000000..ca336a9 --- /dev/null +++ b/ansible/host_vars/macm2-01.ih-eu-mda1.nimbus.holesky.yml @@ -0,0 +1,2 @@ +--- +beacon_node_exec_layer_urls: ['http://holesky-01.ih-eu-mda1.nimbus.geth.wg:{{ 8551 + (idx|int) }}'] diff --git a/ansible/inventory/test b/ansible/inventory/test index 766f7d3..0c5a72c 100644 --- a/ansible/inventory/test +++ b/ansible/inventory/test @@ -23,6 +23,8 @@ geth-07.ih-eu-mda1.nimbus.holesky hostname=geth-07.ih-eu-mda1.nimbus.holesky ans geth-08.ih-eu-mda1.nimbus.holesky hostname=geth-08.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.140 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=geth-08.ih-eu-mda1.nimbus.holesky.status.im geth-09.ih-eu-mda1.nimbus.holesky hostname=geth-09.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.141 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=geth-09.ih-eu-mda1.nimbus.holesky.status.im geth-10.ih-eu-mda1.nimbus.holesky hostname=geth-10.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.147 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=geth-10.ih-eu-mda1.nimbus.holesky.status.im +holesky-01.ih-eu-mda1.nimbus.geth hostname=holesky-01.ih-eu-mda1.nimbus.geth ansible_host=194.33.40.232 env=nimbus stage=geth data_center=ih-eu-mda1 region=eu-mda1 dns_entry=holesky-01.ih-eu-mda1.nimbus.geth.status.im +holesky-02.ih-eu-mda1.nimbus.geth hostname=holesky-02.ih-eu-mda1.nimbus.geth ansible_host=194.33.40.233 env=nimbus stage=geth data_center=ih-eu-mda1 region=eu-mda1 dns_entry=holesky-02.ih-eu-mda1.nimbus.geth.status.im linux-01.ih-eu-mda1.nimbus.mainnet hostname=linux-01.ih-eu-mda1.nimbus.mainnet ansible_host=194.33.40.70 env=nimbus stage=mainnet data_center=ih-eu-mda1 region=eu-mda1 dns_entry=linux-01.ih-eu-mda1.nimbus.mainnet.status.im linux-01.ih-eu-mda1.nimbus.prater hostname=linux-01.ih-eu-mda1.nimbus.prater ansible_host=185.181.230.78 env=nimbus stage=prater data_center=ih-eu-mda1 region=eu-mda1 dns_entry=linux-01.ih-eu-mda1.nimbus.prater.status.im linux-01.ih-eu-mda1.nimbus.sepolia hostname=linux-01.ih-eu-mda1.nimbus.sepolia ansible_host=185.181.230.77 env=nimbus stage=sepolia data_center=ih-eu-mda1 region=eu-mda1 dns_entry=linux-01.ih-eu-mda1.nimbus.sepolia.status.im @@ -88,6 +90,8 @@ geth-07.ih-eu-mda1.nimbus.holesky geth-08.ih-eu-mda1.nimbus.holesky geth-09.ih-eu-mda1.nimbus.holesky geth-10.ih-eu-mda1.nimbus.holesky +holesky-01.ih-eu-mda1.nimbus.geth +holesky-02.ih-eu-mda1.nimbus.geth linux-01.ih-eu-mda1.nimbus.mainnet linux-01.ih-eu-mda1.nimbus.prater linux-01.ih-eu-mda1.nimbus.sepolia @@ -128,6 +132,10 @@ metal-01.ih-eu-mda1.nimbus.eth1 metal-01.ih-eu-mda1.nimbus.fluffy metal-02.ih-eu-mda1.nimbus.fluffy +[nimbus-geth-holesky] +holesky-01.ih-eu-mda1.nimbus.geth +holesky-02.ih-eu-mda1.nimbus.geth + [nimbus-geth-mainnet] mainnet-01.aws-eu-central-1a.nimbus.geth @@ -198,6 +206,8 @@ metal-01.ih-eu-mda1.nimbus.fluffy metal-02.ih-eu-mda1.nimbus.fluffy [nimbus.geth] +holesky-01.ih-eu-mda1.nimbus.geth +holesky-02.ih-eu-mda1.nimbus.geth mainnet-01.aws-eu-central-1a.nimbus.geth [nimbus.holesky] diff --git a/ansible/requirements.yml b/ansible/requirements.yml index 329acc5..d72ab07 100644 --- a/ansible/requirements.yml +++ b/ansible/requirements.yml @@ -55,7 +55,7 @@ - name: infra-role-beacon-node-macos src: git@github.com:status-im/infra-role-beacon-node-macos.git - version: 18f11473e3196d2c8cac893988eb9cd0cd255fbc + version: 8ec55d8e1b3284bf1bce68e2bb2144a0a8059152 scm: git - name: infra-role-validator-client diff --git a/ansible/vars/layout/holesky.yml b/ansible/vars/layout/holesky.yml index be4ab3f..d0201df 100644 --- a/ansible/vars/layout/holesky.yml +++ b/ansible/vars/layout/holesky.yml @@ -185,7 +185,11 @@ nodes_layout: - { branch: 'libp2p', start: 94000, end: 100000, el: 'nethermind', vc: false } # MacOS -------------------------------------------------------------------------- - 'macm2-01.ih-eu-mda1.nimbus.holesky': # 0 each (FIXME: No exec client.) + 'macm2-01.ih-eu-mda1.nimbus.holesky': # 0 each - { branch: 'stable', build_start: '13:00:00' } - { branch: 'testing', build_start: '15:00:00' } - { branch: 'unstable', build_start: '17:00:00' } + + # Geth --------------------------------------------------------------------------- + 'holesky-01.ih-eu-mda1.nimbus.geth': [{}, {}, {}] # For MacOS nodes. + 'holesky-02.ih-eu-mda1.nimbus.geth': [{}, {}, {}] # For Windows nodes. (TODO) diff --git a/geth.tf b/geth.tf index 9af1312..5f00dc3 100644 --- a/geth.tf +++ b/geth.tf @@ -23,3 +23,19 @@ module "nimbus_geth_mainnet" { secgroup_id = module.nimbus_network.secgroup.id keypair_name = aws_key_pair.jakubgs.key_name } + +module "nimbus_geth_holesky" { + source = "github.com/status-im/infra-tf-dummy-module" + + name = "holesky" + env = "nimbus" + stage = "geth" + group = "nimbus-geth-holesky" + region = "eu-mda1" + prefix = "ih" + + ips = [ + "194.33.40.232", # holesky-01.ih-eu-mda1.nimbus.geth + "194.33.40.233", # holesky-02.ih-eu-mda1.nimbus.geth + ] +} diff --git a/outputs.tf b/outputs.tf index 2bf3be8..ac0d91f 100644 --- a/outputs.tf +++ b/outputs.tf @@ -1,17 +1,18 @@ output "hosts" { value = merge( module.nimbus_dashboard.hosts, - module.nimbus_log_store.hosts, - module.nimbus_geth_mainnet.hosts, - module.nimbus_nodes_fluffy_innova.hosts, module.nimbus_eth1_node_innova.hosts, + module.nimbus_geth_holesky.hosts, + module.nimbus_geth_mainnet.hosts, + module.nimbus_log_store.hosts, + module.nimbus_nodes_fluffy_innova.hosts, + module.nimbus_nodes_holesky_innova_erigon.hosts, + module.nimbus_nodes_holesky_innova_geth.hosts, + module.nimbus_nodes_holesky_innova_macm2.hosts, + module.nimbus_nodes_holesky_innova_neth.hosts, module.nimbus_nodes_mainnet_innova.hosts, module.nimbus_nodes_mainnet_stable_small.hosts, module.nimbus_nodes_prater_innova.hosts, module.nimbus_nodes_sepolia_innova.hosts, - module.nimbus_nodes_holesky_innova_geth.hosts, - module.nimbus_nodes_holesky_innova_erigon.hosts, - module.nimbus_nodes_holesky_innova_neth.hosts, - module.nimbus_nodes_holesky_innova_macm2.hosts, ) }