--- - 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 prater AWS Linux nodes become: true # To avoid clashing/duplicate validators. any_errors_fatal: true serial: '{{ serial|default(1) }}' hosts: - nimbus-prater-stable - nimbus-prater-testing - nimbus-prater-unstable roles: - { role: open-ports, tags: open-ports } - { role: get-geth-api-urls, tags: get-geth-api-urls } tasks: - 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 - name: Deploy prater Hetzner linux nodes become: true serial: '{{ serial|default(1) }}' hosts: nimbus-prater-metal roles: - { role: swap-file, tags: [ swap-file ] } - { role: open-ports, tags: [ open-ports ] } - { role: smart-metrics, tags: [ smart-metrics ] } - { role: redirect-ports, tags: [ redirect-ports ] } - { role: nimbus-era-files, tags: [ nimbus-era-files ] } tasks: - include_role: name=infra-role-erigon tags: [ geth, infra-role-erigon ] with_items: '{{ nodes_layout[hostname] }}' when: node.get('erigon', false) loop_control: loop_var: node index_var: idx - include_role: name=infra-role-nethermind tags: [ geth, infra-role-nethermind ] with_items: '{{ nodes_layout[hostname] }}' when: node.get('nethermind', false) loop_control: loop_var: node index_var: idx - 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-geth-exporter tags: [ geth-exporter, infra-role-geth-exporter ] 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 - include_role: name=infra-role-validator-client tags: [ validator-client, infra-role-validator-client ] with_items: '{{ nodes_layout[hostname] }}' when: validator_client_service_enabled loop_control: loop_var: node index_var: idx - name: Deploy prater Geth nodes for Windows become: true serial: '{{ serial|default(1) }}' hosts: nimbus-geth-goerli-windows roles: - { role: swap-file, tags: swap-file } - { role: open-ports, tags: open-ports } tasks: - 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-geth-exporter tags: [ geth-exporter, infra-role-geth-exporter ] with_items: '{{ nodes_layout[hostname] }}' loop_control: loop_var: node index_var: idx - name: Deploy prater Windows beacon nodes become: true become_user: 'admin' serial: '{{ serial|default(1) }}' hosts: nimbus-prater-windows fact_path: 'C:/ansible/facts.d' roles: - { role: get-geth-api-urls, tags: [ get-geth-api-urls ] } tasks: - include_role: name=infra-role-beacon-node-windows tags: [ beacon-node, infra-role-beacon-node-windows ] with_items: '{{ nodes_layout[hostname] }}' loop_control: loop_var: node index_var: idx - name: Deploy prater macOS beacon nodes become: true serial: '{{ serial|default(1) }}' hosts: nimbus-prater-macos roles: - { role: get-geth-api-urls, tags: [ get-geth-api-urls ] } - { role: nimbus-era-files, tags: [ nimbus-era-files ] } tasks: - include_role: name=infra-role-beacon-node-macos tags: [ beacon-node, infra-role-beacon-node-macos ] with_items: '{{ nodes_layout[hostname] }}' loop_control: loop_var: node index_var: idx