diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-08-11 00:32:04 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-08-11 00:32:04 +0200 |
| commit | e02325cde6624243f3498226301018dca037c9cd (patch) | |
| tree | e3f1656e50060064da5b3b062fef33263fd90072 | |
| parent | 6bca3c0f2a68b4c4a2a877de2fb8c343e8fda4f9 (diff) | |
Simplify playbook by requiring the required_for_boot tag on roles
Instead of optimizing for task execution for boot, it's simpler and
almost as equally safe (if not even more) to require the role for boot
instead of requiring each of it's needed tasks.
This will also prevent having internal bugs because a set fact wasn't
required for boot and didn't add the info
(similar to the fix in commit: 9f72c58)
| -rw-r--r-- | roles/network/tasks/install-archlinux.yml | 1 | ||||
| -rw-r--r-- | roles/network/tasks/install-debian.yml | 4 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 6 | ||||
| -rw-r--r-- | roles/ssh/tasks/install-archlinux.yml | 1 | ||||
| -rw-r--r-- | roles/ssh/tasks/install-debian.yml | 1 | ||||
| -rw-r--r-- | roles/ssh/tasks/main.yml | 10 | ||||
| -rw-r--r-- | roles/user/tasks/install-archlinux.yml | 1 | ||||
| -rw-r--r-- | roles/user/tasks/install-debian.yml | 1 | ||||
| -rw-r--r-- | roles/user/tasks/main.yml | 8 | ||||
| -rw-r--r-- | site.yml | 3 |
10 files changed, 3 insertions, 33 deletions
diff --git a/roles/network/tasks/install-archlinux.yml b/roles/network/tasks/install-archlinux.yml index 788febea..b238d0cb 100644 --- a/roles/network/tasks/install-archlinux.yml +++ b/roles/network/tasks/install-archlinux.yml @@ -5,4 +5,3 @@ name: "{{ network_packages }}" state: "present" update_cache: true - tags: [required_for_boot] diff --git a/roles/network/tasks/install-debian.yml b/roles/network/tasks/install-debian.yml index 74c527d5..6b5455a8 100644 --- a/roles/network/tasks/install-debian.yml +++ b/roles/network/tasks/install-debian.yml @@ -5,7 +5,6 @@ pkg: "{{ network_packages }}" state: "present" update_cache: true - tags: [required_for_boot] - name: "Set network_default_services facts" ansible.builtin.set_fact: @@ -14,7 +13,6 @@ - "avahi-daemon" - "networking" - "wpa_supplicant" - tags: [required_for_boot] - name: "Stop/Disable conflicting services" become: true @@ -34,7 +32,6 @@ changed_when: true when: ansible_is_chroot # noqa: command-instead-of-module module doesn't work inside chroot - tags: [required_for_boot] - name: "Ensure avahi packages are removed" become: true @@ -45,4 +42,3 @@ state: "absent" autoremove: true purge: true - tags: [required_for_boot] diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index cb8f1fd9..54b0a9ed 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -7,7 +7,6 @@ content: | {{ hostname }} when: hostname is defined - tags: [required_for_boot] - name: "Configure /etc/hosts" become: true @@ -22,15 +21,12 @@ ff02::2 ip6-allrouters when: hostname is defined # Not required for boot - tags: [] - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" - tags: [required_for_boot] - name: "Install OS-specific packages" ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" - tags: [required_for_boot] - name: "(chroot): Ensure network_services are enabled" ansible.builtin.command: @@ -39,11 +35,9 @@ with_items: "{{ network_services }}" when: ansible_is_chroot # noqa: command-instead-of-module module doesn't work inside chroot - tags: [required_for_boot] - name: "Configure NetworkManager" become: true - tags: [required_for_boot] notify: - "Reload systemd" - "Restart NetworkManager" diff --git a/roles/ssh/tasks/install-archlinux.yml b/roles/ssh/tasks/install-archlinux.yml index 58b6fa9d..2086c6d1 100644 --- a/roles/ssh/tasks/install-archlinux.yml +++ b/roles/ssh/tasks/install-archlinux.yml @@ -5,4 +5,3 @@ name: "{{ ssh_package_name }}" state: present update_cache: true - tags: [required_for_boot] diff --git a/roles/ssh/tasks/install-debian.yml b/roles/ssh/tasks/install-debian.yml index 452bf003..316a0096 100644 --- a/roles/ssh/tasks/install-debian.yml +++ b/roles/ssh/tasks/install-debian.yml @@ -5,4 +5,3 @@ name: "{{ ssh_package_name }}" state: "present" update_cache: true - tags: [required_for_boot] diff --git a/roles/ssh/tasks/main.yml b/roles/ssh/tasks/main.yml index f88b9be4..c09d00e1 100644 --- a/roles/ssh/tasks/main.yml +++ b/roles/ssh/tasks/main.yml @@ -1,11 +1,9 @@ --- - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" - tags: [required_for_boot] - name: "Install OS-specific packages" ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" - tags: [required_for_boot] - name: "Ensure ssh_service is enabled" become: true @@ -14,7 +12,6 @@ state: "started" enabled: true when: not ansible_is_chroot - tags: [required_for_boot] - name: "(chroot): Ensure ssh_service enabled" # noqa: command-instead-of-module intentional isnide chroot @@ -22,28 +19,24 @@ cmd: "systemctl enable {{ ssh_service_name }}" when: ansible_is_chroot changed_when: true - tags: [required_for_boot] - name: "Generate /etc/ssh/ RSA host key" become: true ansible.builtin.command: cmd: "ssh-keygen -q -t rsa -b 4096 -f /etc/ssh/ssh_host_rsa_key -C '' -N ''" creates: "/etc/ssh/ssh_host_rsa_key" - tags: [required_for_boot] - name: "Generate /etc/ssh/ ECDSA host key" become: true ansible.builtin.command: cmd: "ssh-keygen -q -t ecdsa -b 521 -f /etc/ssh/ssh_host_ecdsa_key -C '' -N ''" creates: "/etc/ssh/ssh_host_ecdsa_key" - tags: [required_for_boot] - name: "Generate /etc/ssh/ Ed25519 host key" become: true ansible.builtin.command: cmd: "ssh-keygen -q -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -C '' -N ''" creates: "/etc/ssh/ssh_host_ed25519_key" - tags: [required_for_boot] - name: "Configure sshd_config" become: true @@ -68,7 +61,6 @@ notify: - "Reload systemd" - "Restart ssh" - tags: [required_for_boot] - name: "Configure ssh authentication policy" become: true @@ -87,7 +79,6 @@ X11Forwarding no notify: - "Restart ssh" - tags: [required_for_boot] - name: "Add arg.username to allowed users" become: true @@ -99,4 +90,3 @@ AllowUsers {{ username }} notify: - "Restart ssh" - tags: [required_for_boot] diff --git a/roles/user/tasks/install-archlinux.yml b/roles/user/tasks/install-archlinux.yml index 0813c342..15abe034 100644 --- a/roles/user/tasks/install-archlinux.yml +++ b/roles/user/tasks/install-archlinux.yml @@ -5,4 +5,3 @@ name: "sudo" state: "present" update_cache: true - tags: [required_for_boot] diff --git a/roles/user/tasks/install-debian.yml b/roles/user/tasks/install-debian.yml index d70fd3ce..d602e471 100644 --- a/roles/user/tasks/install-debian.yml +++ b/roles/user/tasks/install-debian.yml @@ -5,4 +5,3 @@ name: "sudo" state: "present" update_cache: true - tags: [required_for_boot] diff --git a/roles/user/tasks/main.yml b/roles/user/tasks/main.yml index eb38f95e..71deaeed 100644 --- a/roles/user/tasks/main.yml +++ b/roles/user/tasks/main.yml @@ -1,18 +1,15 @@ --- - name: "Install OS-specific packages" ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" - tags: [required_for_boot] - name: "Set sudo group fact" ansible.builtin.set_fact: # noqa var-naming[no-role-prefix] the sudo group is global and better named this way than user_sudo_group sudo_group: "sudo" - tags: [required_for_boot] - name: "Set user groups fact" ansible.builtin.set_fact: user_groups: "{{ ([username, sudo_group] + user_groups) | unique }}" - tags: [required_for_boot] - name: "Configure permissions for group: {{ sudo_group }}" become: true @@ -23,7 +20,6 @@ nopassword: false sudoers_path: "/etc/sudoers.d" state: present - tags: [required_for_boot] - name: "Ensure user groups are created" become: true @@ -31,7 +27,6 @@ name: "{{ item }}" state: "present" with_items: "{{ user_groups }}" - tags: [required_for_boot] # noqa var-naming[no-role-prefix] username is more understandable than user_name - name: "Create user: {{ username }}" @@ -47,7 +42,6 @@ update_password: "on_create" register: user notify: "Require password change" - tags: [required_for_boot] - name: "Create user ssh directory" ansible.builtin.file: @@ -55,7 +49,6 @@ mode: "0700" owner: "{{ username }}" state: "directory" - tags: [required_for_boot] - name: "Add user ssh authorized_keys" ansible.builtin.copy: @@ -64,4 +57,3 @@ owner: "{{ username }}" content: | {{ user_public_keys | join('\n') }} - tags: [required_for_boot] @@ -6,5 +6,8 @@ - chroot roles: - role: "network" + tags: ["required_for_boot"] - role: "user" + tags: ["required_for_boot"] - role: "ssh" + tags: ["required_for_boot"] |
