diff --git a/README.md b/README.md index cc4fcaa..0864190 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ These are [Beacon API](https://ethereum.github.io/beacon-APIs/) endpoints intend | http://testing.mainnet.beacon-api.nimbus.team/ | `metal-02.he-eu-hel1.nimbus.mainnet` | | http://unstable.prater.beacon-api.nimbus.team/ | `metal-01.he-eu-hel1.nimbus.prater` | | http://testing.prater.beacon-api.nimbus.team/ | `metal-02.he-eu-hel1.nimbus.prater` | -| http://unstable.kiln.beacon-api.nimbus.team/ | `metal-01.he-eu-hel1.nimbus.kiln` | +| http://unstable.sepolia.beacon-api.nimbus.team/ | `metal-01.he-eu-hel1.nimbus.sepolia` | These nodes have no validators attached. @@ -22,9 +22,9 @@ There's a dedicated Kibana dashboard for Nimbus fleet logs: https://nimbus-logs. There are explorers available for various testnets: -* https://prater.beaconcha.in/ +* https://mainnet.beaconcha.in/ * https://ropsten.beaconcha.in/ -* https://beaconchain.kiln.themerge.dev/ +* https://prater.beaconcha.in/ # Repo Usage diff --git a/ansible/vars/nimbus-sepolia-metal.yml b/ansible/group_vars/nimbus.sepolia.yml similarity index 91% rename from ansible/vars/nimbus-sepolia-metal.yml rename to ansible/group_vars/nimbus.sepolia.yml index e4fd4c7..9c65718 100644 --- a/ansible/vars/nimbus-sepolia-metal.yml +++ b/ansible/group_vars/nimbus.sepolia.yml @@ -31,15 +31,16 @@ beacon_node_nim_commit: '{{ node.get("nim_commit", "") }}' beacon_node_build_nim_flags: '-d:noSignalHandler {{ node.get("nim_flags", "") }}' beacon_node_payload_builder_enabled: '{{ node.get("payload_builder", false) }}' beacon_node_payload_builder_url: 'https://builder-relay-sepolia.flashbots.net/' - -#Builds +# Builds beacon_node_build_frequency: 'daily' # Monitoring beacon_node_validator_monitor_auto: true beacon_node_validator_monitor_totals: true -#Eth1 Sync +# Eth1 Sync beacon_node_web3_urls: ['http://localhost:{{ geth_authrpc_port }}'] beacon_node_web3_jwt_secret: '{{ geth_authrpc_jwtsecret | mandatory }}' +# Suggests it to the Execution Layer client. +beacon_node_suggested_fee_recipient: '{{lookup("bitwarden", "nimbus/wallet/prater", 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.start | mandatory }}' @@ -52,7 +53,7 @@ beacon_node_rest_port: '{{ 9300 + idx|int + 11 }}' beacon_node_rest_address: '0.0.0.0' nodes_layout: - 'metal-01.he-eu-hel1.nimbus.kiln': + 'linux-01.he-eu-hel1.nimbus.sepolia': - { start: 0, end: 25 } - { start: 25, end: 50, nim_commit: 'version-1-6', payload_builder: true } - { start: 50, end: 75, nim_commit: 'version-1-6' } diff --git a/ansible/inventory/test b/ansible/inventory/test index c16dd1f..e9578ce 100644 --- a/ansible/inventory/test +++ b/ansible/inventory/test @@ -5,6 +5,7 @@ goerli-01.he-eu-hel1.nimbus.geth hostname=goerli-01.he-eu-hel1.nimbus.geth ansib goerli-02.he-eu-hel1.nimbus.geth hostname=goerli-02.he-eu-hel1.nimbus.geth ansible_host=65.21.196.48 env=nimbus stage=geth data_center=he-eu-hel1 region=eu-hel1 dns_entry=goerli-02.he-eu-hel1.nimbus.geth.statusim.net goerli-03.he-eu-hel1.nimbus.geth hostname=goerli-03.he-eu-hel1.nimbus.geth ansible_host=65.21.196.47 env=nimbus stage=geth data_center=he-eu-hel1 region=eu-hel1 dns_entry=goerli-03.he-eu-hel1.nimbus.geth.statusim.net linux-01.he-eu-hel1.nimbus.prater hostname=linux-01.he-eu-hel1.nimbus.prater ansible_host=95.217.198.113 env=nimbus stage=prater data_center=he-eu-hel1 region=eu-hel1 dns_entry=linux-01.he-eu-hel1.nimbus.prater.statusim.net +linux-01.he-eu-hel1.nimbus.sepolia hostname=linux-01.he-eu-hel1.nimbus.sepolia ansible_host=65.21.89.157 env=nimbus stage=sepolia data_center=he-eu-hel1 region=eu-hel1 dns_entry=linux-01.he-eu-hel1.nimbus.sepolia.statusim.net linux-02.he-eu-hel1.nimbus.prater hostname=linux-02.he-eu-hel1.nimbus.prater ansible_host=95.217.230.20 env=nimbus stage=prater data_center=he-eu-hel1 region=eu-hel1 dns_entry=linux-02.he-eu-hel1.nimbus.prater.statusim.net linux-03.he-eu-hel1.nimbus.prater hostname=linux-03.he-eu-hel1.nimbus.prater ansible_host=65.108.132.230 env=nimbus stage=prater data_center=he-eu-hel1 region=eu-hel1 dns_entry=linux-03.he-eu-hel1.nimbus.prater.statusim.net linux-04.he-eu-hel1.nimbus.prater hostname=linux-04.he-eu-hel1.nimbus.prater ansible_host=135.181.20.36 env=nimbus stage=prater data_center=he-eu-hel1 region=eu-hel1 dns_entry=linux-04.he-eu-hel1.nimbus.prater.statusim.net @@ -14,7 +15,6 @@ macos-01.ms-eu-dublin.nimbus.prater hostname=macos-01.ms-eu-dublin.nimbus.prater mainnet-01.aws-eu-central-1a.nimbus.geth hostname=mainnet-01.aws-eu-central-1a.nimbus.geth ansible_host=18.196.208.138 env=nimbus stage=geth data_center=aws-eu-central-1a region=eu-central-1a dns_entry=mainnet-01.aws-eu-central-1a.nimbus.geth.statusim.net metal-01.he-eu-hel1.nimbus.eth1 hostname=metal-01.he-eu-hel1.nimbus.eth1 ansible_host=65.21.230.244 env=nimbus stage=eth1 data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-01.he-eu-hel1.nimbus.eth1.statusim.net metal-01.he-eu-hel1.nimbus.fluffy hostname=metal-01.he-eu-hel1.nimbus.fluffy ansible_host=65.108.42.3 env=nimbus stage=fluffy data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-01.he-eu-hel1.nimbus.fluffy.statusim.net -metal-01.he-eu-hel1.nimbus.kiln hostname=metal-01.he-eu-hel1.nimbus.kiln ansible_host=65.21.89.157 env=nimbus stage=kiln data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-01.he-eu-hel1.nimbus.kiln.statusim.net metal-01.he-eu-hel1.nimbus.mainnet hostname=metal-01.he-eu-hel1.nimbus.mainnet ansible_host=95.217.87.121 env=nimbus stage=mainnet data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-01.he-eu-hel1.nimbus.mainnet.statusim.net metal-01.he-eu-hel1.nimbus.ropsten hostname=metal-01.he-eu-hel1.nimbus.ropsten ansible_host=135.181.57.169 env=nimbus stage=ropsten data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-01.he-eu-hel1.nimbus.ropsten.statusim.net metal-02.he-eu-hel1.nimbus.fluffy hostname=metal-02.he-eu-hel1.nimbus.fluffy ansible_host=65.108.42.174 env=nimbus stage=fluffy data_center=he-eu-hel1 region=eu-hel1 dns_entry=metal-02.he-eu-hel1.nimbus.fluffy.statusim.net @@ -51,6 +51,7 @@ goerli-01.he-eu-hel1.nimbus.geth goerli-02.he-eu-hel1.nimbus.geth goerli-03.he-eu-hel1.nimbus.geth linux-01.he-eu-hel1.nimbus.prater +linux-01.he-eu-hel1.nimbus.sepolia linux-02.he-eu-hel1.nimbus.prater linux-03.he-eu-hel1.nimbus.prater linux-04.he-eu-hel1.nimbus.prater @@ -58,7 +59,6 @@ linux-05.he-eu-hel1.nimbus.prater linux-06.he-eu-hel1.nimbus.prater metal-01.he-eu-hel1.nimbus.eth1 metal-01.he-eu-hel1.nimbus.fluffy -metal-01.he-eu-hel1.nimbus.kiln metal-01.he-eu-hel1.nimbus.mainnet metal-01.he-eu-hel1.nimbus.ropsten metal-02.he-eu-hel1.nimbus.fluffy @@ -98,9 +98,6 @@ goerli-03.he-eu-hel1.nimbus.geth [nimbus-geth-mainnet] mainnet-01.aws-eu-central-1a.nimbus.geth -[nimbus-kiln-metal] -metal-01.he-eu-hel1.nimbus.kiln - [nimbus-mainnet-metal] metal-01.he-eu-hel1.nimbus.mainnet metal-02.he-eu-hel1.nimbus.mainnet @@ -139,6 +136,9 @@ windows-01.he-eu-hel1.nimbus.prater [nimbus-ropsten-metal] metal-01.he-eu-hel1.nimbus.ropsten +[nimbus-sepolia-linux] +linux-01.he-eu-hel1.nimbus.sepolia + [nimbus.eth1] metal-01.he-eu-hel1.nimbus.eth1 @@ -152,9 +152,6 @@ goerli-02.he-eu-hel1.nimbus.geth goerli-03.he-eu-hel1.nimbus.geth mainnet-01.aws-eu-central-1a.nimbus.geth -[nimbus.kiln] -metal-01.he-eu-hel1.nimbus.kiln - [nimbus.mainnet] metal-01.he-eu-hel1.nimbus.mainnet metal-02.he-eu-hel1.nimbus.mainnet @@ -181,3 +178,6 @@ windows-01.he-eu-hel1.nimbus.prater [nimbus.ropsten] metal-01.he-eu-hel1.nimbus.ropsten +[nimbus.sepolia] +linux-01.he-eu-hel1.nimbus.sepolia + diff --git a/ansible/kiln.yml b/ansible/kiln.yml deleted file mode 100644 index 1778ba7..0000000 --- a/ansible/kiln.yml +++ /dev/null @@ -1,37 +0,0 @@ -# Sepolia instances and kiln instances were installed on the same host -# Because of variables precedence and merging in ansible,¬ -# we had to use include_vars directive to load variables properly. -# Otherwise, we would run another 4 kiln instances under sepolia name. ---- -- name: Verify Ansible versions - hosts: all - tags: always - become: false - run_once: true - gather_facts: false - tasks: - - local_action: command ./versioncheck.py - changed_when: false - -- name: Deploy Kiln Testnet nodes - become: true - serial: '{{ serial|default(1) }}' - hosts: - - nimbus-kiln-metal - roles: - - { role: redirect-ports, tags: [ redirect-ports ] } - tasks: - - include_vars: - file: vars/nimbus-kiln-metal.yml - - include_role: name=infra-role-geth - tags: [ geth, infra-role-geth ] - with_items: '{{ nodes_layout[hostname] }}' - loop_control: - loop_var: node - index_var: idx - - include_role: name=infra-role-beacon-node-linux - tags: [ beacon-node, infra-role-beacon-node-linux ] - with_items: '{{ nodes_layout[hostname] }}' - loop_control: - loop_var: node - index_var: idx diff --git a/ansible/sepolia.yml b/ansible/sepolia.yml index 1a87545..4a7cf87 100644 --- a/ansible/sepolia.yml +++ b/ansible/sepolia.yml @@ -1,7 +1,3 @@ -# Sepolia instances and kiln instances were installed on the same host -# Because of variables precedence and merging in ansible, -# we had to use include_vars directive to load variables properly. -# Otherwise, we would run another 4 kiln instances under sepolia name. --- - name: Verify Ansible versions hosts: all @@ -17,12 +13,8 @@ become: true serial: '{{ serial|default(1) }}' hosts: - - nimbus-kiln-metal + - nimbus-sepolia-linux tasks: - - name: Load network specific variables - tags: [ always ] - include_vars: file=vars/nimbus-sepolia-metal.yml - - include_role: name=infra-role-geth tags: [ geth, infra-role-geth ] with_items: '{{ nodes_layout[hostname] }}' @@ -41,7 +33,7 @@ become: true serial: '{{ serial|default(1) }}' hosts: - - nimbus-kiln-metal + - nimbus-sepolia-linux tasks: - name: Load network specific variables tags: [ always ] diff --git a/ansible/vars/nimbus-kiln-metal.yml b/ansible/vars/nimbus-kiln-metal.yml deleted file mode 100644 index 957d4da..0000000 --- a/ansible/vars/nimbus-kiln-metal.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -# Go-Ethereum -geth_service_name: 'geth-kiln-{{ "%02d"|format(idx|int+1) }}' -geth_network_name: 'kiln' -geth_sync_mode: 'snap' -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.3 -# Genesis -geth_init_enabled: true -geth_init_url: 'https://config.kiln.themerge.dev/el/genesis/geth.json' -geth_init_sha256: 'd882fc918533489bc757683e09f9daba4921bdc4cfa80de27f088aa0ccb671ba' -# Enable engine API -geth_rcp_api: 'eth,net,web3,personal,admin,engine' -geth_websocket_api: 'eth,net,web3,personal,admin,engine' -# Ports -geth_port: '{{ 30303 + idx|int + 1 }}' -geth_metrics_port: '{{ 6060 + idx|int + 1 }}' -geth_rpc_enabled: true -geth_rpc_addr: '0.0.0.0' -geth_rpc_port: '{{ 8545 + idx|int + 1 }}' -geth_authrpc_addr: '0.0.0.0' -geth_authrpc_port: '{{ 8551 + idx|int + 1 }}' -geth_websocket_enabled: true -geth_websocket_addr: '0.0.0.0' -geth_websocket_port: '{{ 9546 + idx|int + 1 }}' - -# Beacon Nodes -beacon_node_service_name: 'beacon-node-{{ beacon_node_network }}-devauth-{{ "%02d"|format(idx|int+1) }}' -beacon_node_network: 'kiln' -beacon_node_repo_branch: 'kiln-dev-auth' -# Builds -beacon_node_build_frequency: 'daily' -# Monitoring -beacon_node_validator_monitor_auto: true -beacon_node_validator_monitor_totals: true -# Eth1 Sync -beacon_node_web3_urls: ['http://localhost:{{ geth_authrpc_port }}'] -# 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.start | mandatory }}' -beacon_node_dist_validators_end: '{{ 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' - -# Make one of the nodes public -redirect_ports: - # beacon-node-kiln-devauth-01.service - - { src: 80, dst: 9301, comment: 'Test Beacon API (80->9301/tcp)' } - -nodes_layout: - 'metal-01.he-eu-hel1.nimbus.kiln': - - { start: 0, end: 125 } - - { start: 125, end: 250 } - - { start: 250, end: 375 } - - { start: 375, end: 500 } diff --git a/ansible/vars/nimbus-sepolia-trial.yml b/ansible/vars/nimbus-sepolia-trial.yml index 640bde8..63b834f 100644 --- a/ansible/vars/nimbus-sepolia-trial.yml +++ b/ansible/vars/nimbus-sepolia-trial.yml @@ -40,5 +40,5 @@ beacon_node_rest_port: '{{ 9300 + idx|int + 22 }}' beacon_node_rest_address: '0.0.0.0' nodes_layout: - 'metal-01.he-eu-hel1.nimbus.kiln': + 'linux-01.he-eu-hel1.nimbus.sepolia': - { } diff --git a/kiln.tf b/kiln.tf deleted file mode 100644 index 9b82e61..0000000 --- a/kiln.tf +++ /dev/null @@ -1,24 +0,0 @@ -module "nimbus_nodes_kiln_hetzner" { - source = "github.com/status-im/infra-tf-dummy-module" - - name = "metal" - env = "nimbus" - stage = "kiln" - group = "nimbus-kiln-metal" - region = "eu-hel1" - prefix = "he" - domain = var.domain - - ips = [ - "65.21.89.157", # metal-01.he-eu-hel1.nimbus.kiln - ] -} - -/* Community test REST API endpoints. */ -resource "cloudflare_record" "unstable_kiln_beacon_api" { - zone_id = local.zones["nimbus.team"] - name = "unstable.kiln.beacon-api" - value = module.nimbus_nodes_kiln_hetzner.public_ips[0] - type = "A" - proxied = false -} diff --git a/sepolia.tf b/sepolia.tf new file mode 100644 index 0000000..a7f4423 --- /dev/null +++ b/sepolia.tf @@ -0,0 +1,24 @@ +module "nimbus_nodes_sepolia_hetzner" { + source = "github.com/status-im/infra-tf-dummy-module" + + name = "linux" + env = "nimbus" + stage = "sepolia" + group = "nimbus-sepolia-linux" + region = "eu-hel1" + prefix = "he" + domain = var.domain + + ips = [ + "65.21.89.157", # linux-01.he-eu-hel1.nimbus.sepolia + ] +} + +/* Community test REST API endpoints. */ +resource "cloudflare_record" "unstable_sepolia_beacon_api" { + zone_id = local.zones["nimbus.team"] + name = "unstable.sepolia.beacon-api" + value = module.nimbus_nodes_sepolia_hetzner.public_ips[0] + type = "A" + proxied = false +}