From d1d188cd2cc671ecb6c9b7a94d744d63f85648d7 Mon Sep 17 00:00:00 2001 From: Ahmed AbdelHalim Date: Mon, 11 Aug 2025 00:32:04 +0200 Subject: Refactor playbook to simplify package installs for different OSs --- roles/network/tasks/install-debian.yml | 1 - roles/network/tasks/main.yml | 12 ++++++------ roles/ssh/tasks/install-archlinux.yml | 6 ------ roles/ssh/tasks/install-debian.yml | 6 ------ roles/ssh/tasks/main.yml | 11 +++++++---- roles/user/tasks/install-archlinux.yml | 6 ------ roles/user/tasks/install-debian.yml | 6 ------ roles/user/tasks/main.yml | 9 ++++++--- 8 files changed, 19 insertions(+), 38 deletions(-) delete mode 100644 roles/ssh/tasks/install-archlinux.yml delete mode 100644 roles/ssh/tasks/install-debian.yml delete mode 100644 roles/user/tasks/install-archlinux.yml delete mode 100644 roles/user/tasks/install-debian.yml (limited to 'roles') diff --git a/roles/network/tasks/install-debian.yml b/roles/network/tasks/install-debian.yml index 8368d7e3..a5367762 100644 --- a/roles/network/tasks/install-debian.yml +++ b/roles/network/tasks/install-debian.yml @@ -23,7 +23,6 @@ when: not ansible_is_chroot failed_when: false # Not required for boot - tags: [] - name: "(chroot): Disable conflicting services" ansible.builtin.command: diff --git a/roles/network/tasks/main.yml b/roles/network/tasks/main.yml index 54b0a9ed..2bebaf22 100644 --- a/roles/network/tasks/main.yml +++ b/roles/network/tasks/main.yml @@ -1,4 +1,10 @@ --- +- name: "Include OS-specific variables" + ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" + +- name: "Include OS-specific tasks" + ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" + - name: "Configure /etc/hostname" become: true ansible.builtin.copy: @@ -22,12 +28,6 @@ when: hostname is defined # Not required for boot -- name: "Include OS-specific variables" - ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" - -- name: "Install OS-specific packages" - ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" - - name: "(chroot): Ensure network_services are enabled" ansible.builtin.command: cmd: "systemctl enable {{ item }}" diff --git a/roles/ssh/tasks/install-archlinux.yml b/roles/ssh/tasks/install-archlinux.yml deleted file mode 100644 index b8463c20..00000000 --- a/roles/ssh/tasks/install-archlinux.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: "Ensure sshd installed" - become: true - community.general.pacman: - name: "{{ ssh_package_name }}" - state: present diff --git a/roles/ssh/tasks/install-debian.yml b/roles/ssh/tasks/install-debian.yml deleted file mode 100644 index e62a4a8c..00000000 --- a/roles/ssh/tasks/install-debian.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: "Ensure ssh installed" - become: true - ansible.builtin.apt: - name: "{{ ssh_package_name }}" - state: "present" diff --git a/roles/ssh/tasks/main.yml b/roles/ssh/tasks/main.yml index c09d00e1..2e26ad7d 100644 --- a/roles/ssh/tasks/main.yml +++ b/roles/ssh/tasks/main.yml @@ -2,10 +2,13 @@ - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml" -- name: "Install OS-specific packages" - ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" +- name: "Ensure ssh_package_name installed" + become: true + ansible.builtin.package: + name: "{{ ssh_package_name }}" + state: "present" -- name: "Ensure ssh_service is enabled" +- name: "Ensure ssh_service_name is enabled" become: true ansible.builtin.service: name: "{{ ssh_service_name }}" @@ -13,7 +16,7 @@ enabled: true when: not ansible_is_chroot -- name: "(chroot): Ensure ssh_service enabled" +- name: "(chroot): Ensure ssh_service_name is enabled" # noqa: command-instead-of-module intentional isnide chroot ansible.builtin.command: cmd: "systemctl enable {{ ssh_service_name }}" diff --git a/roles/user/tasks/install-archlinux.yml b/roles/user/tasks/install-archlinux.yml deleted file mode 100644 index 9bb06e00..00000000 --- a/roles/user/tasks/install-archlinux.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: "Ensure sudo installed" - become: true - community.general.pacman: - name: "sudo" - state: "present" diff --git a/roles/user/tasks/install-debian.yml b/roles/user/tasks/install-debian.yml deleted file mode 100644 index 3d731944..00000000 --- a/roles/user/tasks/install-debian.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: "Ensure sudo installed" - become: true - ansible.builtin.apt: - name: "sudo" - state: "present" diff --git a/roles/user/tasks/main.yml b/roles/user/tasks/main.yml index 71deaeed..76146491 100644 --- a/roles/user/tasks/main.yml +++ b/roles/user/tasks/main.yml @@ -1,6 +1,9 @@ --- -- name: "Install OS-specific packages" - ansible.builtin.include_tasks: "install-{{ ansible_os_family | lower }}.yml" +- name: "Ensure sudo installed" + become: true + ansible.builtin.package: + name: "sudo" + state: "present" - name: "Set sudo group fact" ansible.builtin.set_fact: @@ -28,8 +31,8 @@ state: "present" with_items: "{{ user_groups }}" -# noqa var-naming[no-role-prefix] username is more understandable than user_name - name: "Create user: {{ username }}" + # noqa var-naming[no-role-prefix] username is more understandable than user_name become: true ansible.builtin.user: name: "{{ username }}" -- cgit v1.2.3