nimbus.mainnet: rename nodes to include bootstrap word

This is additional precaution to avoid accidental destruction of these hosts
as they are used by Ethereum clients to connect to the network.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
This commit is contained in:
Jakub Sokołowski 2024-03-04 18:11:51 +01:00
parent 2d9710227f
commit de1ae7b873
No known key found for this signature in database
GPG Key ID: FE65CD384D5BF7B4
10 changed files with 96 additions and 73 deletions

View File

@ -43,6 +43,19 @@ The fleet layout configuration used by Ansible can be found in [`ansible/vars/la
But for finding which host holds which validator use TSV files in [`ansible/files/layout`](ansible/files/layout). But for finding which host holds which validator use TSV files in [`ansible/files/layout`](ansible/files/layout).
# Bootstrap Nodes
Some nodes in this repo are used as [bootstrap nodes](https://ethereum.org/en/developers/docs/nodes-and-clients/bootnodes/) for testnets and mainnet.
Currently this includes:
| Host | IP |
|-------------------------------------------------|----------------|
| `bootstrap-01.aws-eu-central-1a.nimbus.mainnet` | `3.120.104.18` |
| `bootstrap-02.aws-eu-central-1a.nimbus.mainnet` | `3.64.117.223` |
They are recorded in the [`eth2-networks`](https://github.com/eth-clients/eth2-networks/blob/934c948e69205dcf2deb87e4ae6cc140c335f94d/shared/mainnet/bootstrap_nodes.txt#L28-L30) repository.
# Repo Usage # Repo Usage
Simplest way to run commands on fleets if you have SSH access: Simplest way to run commands on fleets if you have SSH access:

View File

@ -118,55 +118,4 @@ open_ports_list:
- { port: '{{ smart_metrics_listen_port }}', ipset: 'metrics.hq', comment: 'SMART Metrics' } - { port: '{{ smart_metrics_listen_port }}', ipset: 'metrics.hq', comment: 'SMART Metrics' }
- { port: '{{ geth_authrpc_port }}', ipset: 'nimbus.mainnet', comment: 'Geth RPC' } - { port: '{{ geth_authrpc_port }}', ipset: 'nimbus.mainnet', comment: 'Geth RPC' }
# Split by hostname for more central location # Fleet layout can be found in: ansible/vars/layout/mainnet.yml
nodes_layout:
# AWS --------------------------------------------------------------
'stable-small-01.aws-eu-central-1a.nimbus.mainnet':
- { branch: 'stable', history: 'archive' }
'stable-small-02.aws-eu-central-1a.nimbus.mainnet':
- { branch: 'stable', history: 'archive' }
# Innova Hosting ---------------------------------------------------
'linux-01.ih-eu-mda1.nimbus.mainnet': # Frankenstein host, all nodes use one Geth.
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1, open_libp2p_ports: false }
- { branch: 'unstable', num: 1, public_api: true }
- { branch: 'unstable', num: 2 }
'linux-02.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1, public_api: true }
- { branch: 'unstable', num: 1, open_libp2p_ports: false }
- { branch: 'unstable', num: 2 }
'linux-03.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1, max_peers: 10000 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-04.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-05.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-06.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-07.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'libp2p', num: 1 }
- { branch: 'libp2p', num: 2 }
- { branch: 'libp2p', num: 3, extra_flags: ['--enable-yamux=true'] }
- { branch: 'libp2p', num: 4, extra_flags: ['--enable-yamux=true'] }

View File

@ -0,0 +1,9 @@
---
swap_file_path: '/main.swap'
# WARNING: Since these are Eth 2 bootnodes we need to keep the keys and IPs unchanged.
beacon_node_netkey: '{{lookup("bitwarden", "nimbus/netkey", field=hostname)}}'
# These bootstrap nodes were published with these ports.
beacon_node_discovery_port: 9100
beacon_node_listening_port: 9100

View File

@ -0,0 +1,9 @@
---
swap_file_path: '/main.swap'
# WARNING: Since these are Eth 2 bootnodes we need to keep the keys and IPs unchanged.
beacon_node_netkey: '{{lookup("bitwarden", "nimbus/netkey", field=hostname)}}'
# These bootstrap nodes were published with these ports.
beacon_node_discovery_port: 9100
beacon_node_listening_port: 9100

View File

@ -1,6 +0,0 @@
---
swap_file_path: '/main.swap'
# These bootstrap nodes were published with these ports.
beacon_node_discovery_port: 9100
beacon_node_listening_port: 9100

View File

@ -1,6 +0,0 @@
---
swap_file_path: '/main.swap'
# These bootstrap nodes were published with these ports.
beacon_node_discovery_port: 9100
beacon_node_listening_port: 9100

View File

@ -1,6 +1,8 @@
# NOTE: This file is generated by terraform.py # NOTE: This file is generated by terraform.py
# For emergency use when Consul fails # For emergency use when Consul fails
[all] [all]
bootstrap-01.aws-eu-central-1a.nimbus.mainnet hostname=bootstrap-01.aws-eu-central-1a.nimbus.mainnet ansible_host=3.120.104.18 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=bootstrap-01.aws-eu-central-1a.nimbus.mainnet.statusim.net
bootstrap-02.aws-eu-central-1a.nimbus.mainnet hostname=bootstrap-02.aws-eu-central-1a.nimbus.mainnet ansible_host=3.64.117.223 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=bootstrap-02.aws-eu-central-1a.nimbus.mainnet.statusim.net
erigon-01.ih-eu-mda1.nimbus.holesky hostname=erigon-01.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.148 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-01.ih-eu-mda1.nimbus.holesky.statusim.net erigon-01.ih-eu-mda1.nimbus.holesky hostname=erigon-01.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.148 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-01.ih-eu-mda1.nimbus.holesky.statusim.net
erigon-02.ih-eu-mda1.nimbus.holesky hostname=erigon-02.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.149 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-02.ih-eu-mda1.nimbus.holesky.statusim.net erigon-02.ih-eu-mda1.nimbus.holesky hostname=erigon-02.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.149 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-02.ih-eu-mda1.nimbus.holesky.statusim.net
erigon-03.ih-eu-mda1.nimbus.holesky hostname=erigon-03.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.151 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-03.ih-eu-mda1.nimbus.holesky.statusim.net erigon-03.ih-eu-mda1.nimbus.holesky hostname=erigon-03.ih-eu-mda1.nimbus.holesky ansible_host=194.33.40.151 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=erigon-03.ih-eu-mda1.nimbus.holesky.statusim.net
@ -47,17 +49,15 @@ neth-08.ih-eu-mda1.nimbus.holesky hostname=neth-08.ih-eu-mda1.nimbus.holesky ans
neth-09.ih-eu-mda1.nimbus.holesky hostname=neth-09.ih-eu-mda1.nimbus.holesky ansible_host=185.181.229.100 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=neth-09.ih-eu-mda1.nimbus.holesky.statusim.net neth-09.ih-eu-mda1.nimbus.holesky hostname=neth-09.ih-eu-mda1.nimbus.holesky ansible_host=185.181.229.100 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=neth-09.ih-eu-mda1.nimbus.holesky.statusim.net
neth-10.ih-eu-mda1.nimbus.holesky hostname=neth-10.ih-eu-mda1.nimbus.holesky ansible_host=185.181.229.103 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=neth-10.ih-eu-mda1.nimbus.holesky.statusim.net neth-10.ih-eu-mda1.nimbus.holesky hostname=neth-10.ih-eu-mda1.nimbus.holesky ansible_host=185.181.229.103 env=nimbus stage=holesky data_center=ih-eu-mda1 region=eu-mda1 dns_entry=neth-10.ih-eu-mda1.nimbus.holesky.statusim.net
node-01.aws-eu-central-1a.dash.nimbus hostname=node-01.aws-eu-central-1a.dash.nimbus ansible_host=52.28.100.116 env=dash stage=nimbus data_center=aws-eu-central-1a region=eu-central-1a dns_entry=node-01.aws-eu-central-1a.dash.nimbus.statusim.net node-01.aws-eu-central-1a.dash.nimbus hostname=node-01.aws-eu-central-1a.dash.nimbus ansible_host=52.28.100.116 env=dash stage=nimbus data_center=aws-eu-central-1a region=eu-central-1a dns_entry=node-01.aws-eu-central-1a.dash.nimbus.statusim.net
stable-small-01.aws-eu-central-1a.nimbus.mainnet hostname=stable-small-01.aws-eu-central-1a.nimbus.mainnet ansible_host=3.120.104.18 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=stable-small-01.aws-eu-central-1a.nimbus.mainnet.statusim.net
stable-small-02.aws-eu-central-1a.nimbus.mainnet hostname=stable-small-02.aws-eu-central-1a.nimbus.mainnet ansible_host=3.64.117.223 env=nimbus stage=mainnet data_center=aws-eu-central-1a region=eu-central-1a dns_entry=stable-small-02.aws-eu-central-1a.nimbus.mainnet.statusim.net
store-01.he-eu-hel1.logs.nimbus hostname=store-01.he-eu-hel1.logs.nimbus ansible_host=65.108.226.62 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-01.he-eu-hel1.logs.nimbus.statusim.net store-01.he-eu-hel1.logs.nimbus hostname=store-01.he-eu-hel1.logs.nimbus ansible_host=65.108.226.62 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-01.he-eu-hel1.logs.nimbus.statusim.net
store-02.he-eu-hel1.logs.nimbus hostname=store-02.he-eu-hel1.logs.nimbus ansible_host=65.109.62.247 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-02.he-eu-hel1.logs.nimbus.statusim.net store-02.he-eu-hel1.logs.nimbus hostname=store-02.he-eu-hel1.logs.nimbus ansible_host=65.109.62.247 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-02.he-eu-hel1.logs.nimbus.statusim.net
store-03.he-eu-hel1.logs.nimbus hostname=store-03.he-eu-hel1.logs.nimbus ansible_host=65.109.49.101 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-03.he-eu-hel1.logs.nimbus.statusim.net store-03.he-eu-hel1.logs.nimbus hostname=store-03.he-eu-hel1.logs.nimbus ansible_host=65.109.49.101 env=logs stage=nimbus data_center=he-eu-hel1 region=eu-hel1 dns_entry=store-03.he-eu-hel1.logs.nimbus.statusim.net
[aws-eu-central-1a] [aws-eu-central-1a]
bootstrap-01.aws-eu-central-1a.nimbus.mainnet
bootstrap-02.aws-eu-central-1a.nimbus.mainnet
mainnet-01.aws-eu-central-1a.nimbus.geth mainnet-01.aws-eu-central-1a.nimbus.geth
node-01.aws-eu-central-1a.dash.nimbus node-01.aws-eu-central-1a.dash.nimbus
stable-small-01.aws-eu-central-1a.nimbus.mainnet
stable-small-02.aws-eu-central-1a.nimbus.mainnet
[dash.nimbus] [dash.nimbus]
node-01.aws-eu-central-1a.dash.nimbus node-01.aws-eu-central-1a.dash.nimbus
@ -180,8 +180,8 @@ linux-06.ih-eu-mda1.nimbus.mainnet
linux-07.ih-eu-mda1.nimbus.mainnet linux-07.ih-eu-mda1.nimbus.mainnet
[nimbus-mainnet-small] [nimbus-mainnet-small]
stable-small-01.aws-eu-central-1a.nimbus.mainnet bootstrap-01.aws-eu-central-1a.nimbus.mainnet
stable-small-02.aws-eu-central-1a.nimbus.mainnet bootstrap-02.aws-eu-central-1a.nimbus.mainnet
[nimbus-prater-metal] [nimbus-prater-metal]
linux-01.ih-eu-mda1.nimbus.prater linux-01.ih-eu-mda1.nimbus.prater
@ -234,6 +234,8 @@ neth-09.ih-eu-mda1.nimbus.holesky
neth-10.ih-eu-mda1.nimbus.holesky neth-10.ih-eu-mda1.nimbus.holesky
[nimbus.mainnet] [nimbus.mainnet]
bootstrap-01.aws-eu-central-1a.nimbus.mainnet
bootstrap-02.aws-eu-central-1a.nimbus.mainnet
linux-01.ih-eu-mda1.nimbus.mainnet linux-01.ih-eu-mda1.nimbus.mainnet
linux-02.ih-eu-mda1.nimbus.mainnet linux-02.ih-eu-mda1.nimbus.mainnet
linux-03.ih-eu-mda1.nimbus.mainnet linux-03.ih-eu-mda1.nimbus.mainnet
@ -241,8 +243,6 @@ linux-04.ih-eu-mda1.nimbus.mainnet
linux-05.ih-eu-mda1.nimbus.mainnet linux-05.ih-eu-mda1.nimbus.mainnet
linux-06.ih-eu-mda1.nimbus.mainnet linux-06.ih-eu-mda1.nimbus.mainnet
linux-07.ih-eu-mda1.nimbus.mainnet linux-07.ih-eu-mda1.nimbus.mainnet
stable-small-01.aws-eu-central-1a.nimbus.mainnet
stable-small-02.aws-eu-central-1a.nimbus.mainnet
[nimbus.prater] [nimbus.prater]
linux-01.ih-eu-mda1.nimbus.prater linux-01.ih-eu-mda1.nimbus.prater

View File

@ -13,6 +13,7 @@
become: true become: true
serial: '{{ serial|default(1) }}' serial: '{{ serial|default(1) }}'
hosts: 'nimbus-mainnet-small' hosts: 'nimbus-mainnet-small'
vars_files: layout/mainnet.yml
vars: vars:
# WARNING: Since these are Eth 2 bootnodes we need to keep the keys and IPs unchanged. # WARNING: Since these are Eth 2 bootnodes we need to keep the keys and IPs unchanged.
beacon_node_netkey: '{{lookup("bitwarden", "nimbus/netkey", field=hostname)}}' beacon_node_netkey: '{{lookup("bitwarden", "nimbus/netkey", field=hostname)}}'
@ -31,6 +32,7 @@
become: true become: true
serial: '{{ serial|default(1) }}' serial: '{{ serial|default(1) }}'
hosts: nimbus-mainnet-metal hosts: nimbus-mainnet-metal
vars_files: layout/mainnet.yml
vars: vars:
# FIXME: Use all Geth nodes available in the fleet until we resync. # FIXME: Use all Geth nodes available in the fleet until we resync.
geth_node_api_fleet_names: ['nimbus.geth'] geth_node_api_fleet_names: ['nimbus.geth']

View File

@ -0,0 +1,53 @@
---
# This is data for infra-role-dist-validators.
nodes_layout:
# AWS --------------------------------------------------------------
'bootstrap-01.aws-eu-central-1a.nimbus.mainnet':
- { branch: 'stable', history: 'archive' }
'bootstrap-02.aws-eu-central-1a.nimbus.mainnet':
- { branch: 'stable', history: 'archive' }
# Innova Hosting ---------------------------------------------------
'linux-01.ih-eu-mda1.nimbus.mainnet': # Frankenstein host, all nodes use one Geth.
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1, open_libp2p_ports: false }
- { branch: 'unstable', num: 1, public_api: true }
- { branch: 'unstable', num: 2 }
'linux-02.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1, public_api: true }
- { branch: 'unstable', num: 1, open_libp2p_ports: false }
- { branch: 'unstable', num: 2 }
'linux-03.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1, max_peers: 10000 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-04.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-05.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-06.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'testing', num: 1 }
- { branch: 'unstable', num: 1 }
- { branch: 'unstable', num: 2 }
'linux-07.ih-eu-mda1.nimbus.mainnet':
- { branch: 'stable', num: 1 }
- { branch: 'libp2p', num: 1 }
- { branch: 'libp2p', num: 2 }
- { branch: 'libp2p', num: 3, extra_flags: ['--enable-yamux=true'] }
- { branch: 'libp2p', num: 4, extra_flags: ['--enable-yamux=true'] }

View File

@ -54,7 +54,7 @@ resource "cloudflare_record" "era_mainnet" {
module "nimbus_nodes_mainnet_stable_small" { module "nimbus_nodes_mainnet_stable_small" {
source = "github.com/status-im/infra-tf-amazon-web-services" source = "github.com/status-im/infra-tf-amazon-web-services"
name = "stable-small" name = "bootstrap"
env = "nimbus" env = "nimbus"
stage = "mainnet" stage = "mainnet"
group = "nimbus-mainnet-small" group = "nimbus-mainnet-small"