126 lines
3.7 KiB
YAML
126 lines
3.7 KiB
YAML
---
|
|
- name: Verify Ansible versions
|
|
hosts: all
|
|
tags: always
|
|
become: false
|
|
run_once: true
|
|
gather_facts: false
|
|
tasks:
|
|
- local_action: command ./roles.py --check
|
|
changed_when: false
|
|
|
|
- name: Deploy Holesky Linux Beacon Nodes
|
|
become: true
|
|
serial: '{{ serial|default(1) }}'
|
|
hosts:
|
|
- nimbus-holesky-geth
|
|
- nimbus-holesky-erigon
|
|
- nimbus-holesky-neth
|
|
vars_files: layout/holesky.yml
|
|
roles:
|
|
- { role: update-netplan, tags: update-netplan, when: ansible_system == 'Linux' }
|
|
- { role: infra-role-swap-file, tags: swap-file }
|
|
- { role: infra-role-open-ports, tags: open-ports }
|
|
- { role: redirect-ports, tags: redirect-ports }
|
|
- { role: nimbus-era-files, tags: nimbus-era-files }
|
|
- { role: infra-role-mev-boost, tags: mev-boost, when: mev_boost_enabled == true }
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-beacon-node-linux
|
|
apply:
|
|
tags: always
|
|
tags: [ beacon-node ]
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
- include_role:
|
|
name: infra-role-validator-client
|
|
apply:
|
|
tags: always
|
|
tags: [ validator-client ]
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
when: validator_client_service_enabled
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- name: Deploy Holesky Geth Nodes
|
|
become: true
|
|
serial: '{{ serial|default(1) }}'
|
|
hosts: nimbus-holesky-geth
|
|
vars_files: layout/holesky.yml
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-geth
|
|
apply:
|
|
tags: always
|
|
tags: [ geth ]
|
|
when: node.el == "geth"
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- include_role:
|
|
name: infra-role-geth-exporter
|
|
apply:
|
|
tags: always
|
|
tags: [ geth-exporter ]
|
|
when: node.el == "geth"
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- name: Deploy Holesky Erigon Nodes
|
|
become: true
|
|
serial: '{{ serial|default(1) }}'
|
|
hosts: nimbus-holesky-erigon
|
|
vars_files: layout/holesky.yml
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-erigon
|
|
apply:
|
|
tags: always
|
|
tags: [ erigon ]
|
|
when: node.el == "erigon"
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- name: Deploy Holesky Nethermind Nodes
|
|
become: true
|
|
serial: '{{ serial|default(1) }}'
|
|
hosts: nimbus-holesky-neth
|
|
vars_files: layout/holesky.yml
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-nethermind
|
|
apply:
|
|
tags: always
|
|
tags: [ nethermind ]
|
|
when: node.el == "nethermind"
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- name: Deploy Holesky MacOS Beacon Nodes
|
|
become: true
|
|
hosts:
|
|
- nimbus-holesky-macm2
|
|
vars_files: layout/holesky.yml
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-beacon-node-macos
|
|
apply:
|
|
tags: always
|
|
tags: [ beacon-node ]
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|
|
|
|
- name: Deploy Holesky Windows Beacon Nodes
|
|
become: true
|
|
hosts:
|
|
- nimbus-holesky-windows
|
|
fact_path: 'C:/ansible/facts.d'
|
|
vars_files: layout/holesky.yml
|
|
tasks:
|
|
- include_role:
|
|
name: infra-role-beacon-node-windows
|
|
apply:
|
|
tags: always
|
|
tags: [ beacon-node ]
|
|
with_items: '{{ nodes_layout[inventory_hostname] }}'
|
|
loop_control: { loop_var: node, index_var: idx }
|