|
66 | 66 | tags: |
67 | 67 | - always |
68 | 68 |
|
69 | | -- name: Services Deployment |
70 | | - hosts: services |
| 69 | +- name: Services Deployment (map) |
| 70 | + hosts: services_map |
| 71 | + serial: "{{ deploy_serial | default(1) }}" |
| 72 | + vars_files: |
| 73 | + - group_vars/versions.yml |
| 74 | + vars: |
| 75 | + users: |
| 76 | + - username: root |
| 77 | + pre_tasks: |
| 78 | + - name: Load shared deployment secrets |
| 79 | + ansible.builtin.include_vars: |
| 80 | + file: group_vars/secrets.yml |
| 81 | + name: vault_secrets |
| 82 | + tags: |
| 83 | + - always |
| 84 | + |
| 85 | + - name: Abort if target OS is not Ubuntu 24.04 |
| 86 | + ansible.builtin.assert: |
| 87 | + that: |
| 88 | + - ansible_facts["distribution"] == "Ubuntu" |
| 89 | + - ansible_facts["distribution_version"] == "24.04" |
| 90 | + fail_msg: >- |
| 91 | + Unsupported target OS: {{ ansible_facts["distribution"] }} {{ |
| 92 | + ansible_facts["distribution_version"] }}. This playbook supports |
| 93 | + Ubuntu 24.04 only. |
| 94 | + success_msg: "Target OS check passed: Ubuntu 24.04" |
| 95 | + tags: |
| 96 | + - always |
| 97 | + |
| 98 | + - name: Update apt cache |
| 99 | + ansible.builtin.apt: |
| 100 | + update_cache: true |
| 101 | + roles: |
| 102 | + - {role: batman, tags: "batman-adv"} |
| 103 | + - {role: batctl, tags: "batctl"} |
| 104 | + - {role: grafana_public, tags: "grafana-public"} |
| 105 | + - {role: meshviewer, tags: "meshviewer"} |
| 106 | + |
| 107 | + post_tasks: |
| 108 | + - name: Check if reboot is required |
| 109 | + ansible.builtin.stat: |
| 110 | + path: /var/run/reboot-required |
| 111 | + register: system_reboot_required |
| 112 | + changed_when: false |
| 113 | + tags: |
| 114 | + - always |
| 115 | + |
| 116 | + - name: Reboot if required |
| 117 | + ansible.builtin.reboot: |
| 118 | + msg: Reboot triggered by Ansible because /var/run/reboot-required exists. |
| 119 | + reboot_timeout: 900 |
| 120 | + connect_timeout: 10 |
| 121 | + post_reboot_delay: 15 |
| 122 | + when: |
| 123 | + - system_reboot_required.stat.exists |
| 124 | + - not ansible_check_mode |
| 125 | + tags: |
| 126 | + - always |
| 127 | + |
| 128 | +- name: Services Deployment (web) |
| 129 | + hosts: services_web |
71 | 130 | serial: "{{ deploy_serial | default(1) }}" |
72 | 131 | vars_files: |
73 | 132 | - group_vars/versions.yml |
|
104 | 163 | - {role: firmware_release, tags: "firmware-release"} |
105 | 164 | - {role: firmware_selector, tags: "firmware-selector"} |
106 | 165 | - {role: website, tags: "website"} |
107 | | - - {role: grafana_public, tags: "grafana-public"} |
108 | | - - {role: meshviewer, tags: "meshviewer"} |
109 | 166 |
|
110 | 167 | post_tasks: |
111 | 168 | - name: Check if reboot is required |
|
0 commit comments