infra-nimbus/ansible/holesky.yml

125 lines
3.5 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 }
tasks:
- include_role:
name: infra-role-beacon-node-linux
apply:
tags: always
tags: [ beacon-node ]
with_items: '{{ nodes_layout[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[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[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[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[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[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[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[hostname] }}'
loop_control: { loop_var: node, index_var: idx }