--- - 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 }