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 | 1e258f7ec4093b4998693543628751258103e11c (patch) | |
| tree | cc577f7ec948536c7ff5241a026543693218e1d9 | |
| parent | bd8fef07b81e116ad25b69ef1a39c799e4687b50 (diff) | |
Refactor playbook to simplify package installs for different OSs
| -rw-r--r-- | .ansible-lint | 3 | ||||
| -rw-r--r-- | roles/network/tasks/install-debian.yml | 1 | ||||
| -rw-r--r-- | roles/network/tasks/main.yml | 12 | ||||
| -rw-r--r-- | roles/ssh/tasks/install-archlinux.yml | 6 | ||||
| -rw-r--r-- | roles/ssh/tasks/install-debian.yml | 6 | ||||
| -rw-r--r-- | roles/ssh/tasks/main.yml | 11 | ||||
| -rw-r--r-- | roles/user/tasks/install-archlinux.yml | 6 | ||||
| -rw-r--r-- | roles/user/tasks/install-debian.yml | 6 | ||||
| -rw-r--r-- | roles/user/tasks/main.yml | 9 |
9 files changed, 22 insertions, 38 deletions
diff --git a/.ansible-lint b/.ansible-lint index 26c3c913..4124dea9 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -2,3 +2,6 @@ skip_list: - 'yaml' - 'role-name' + +warn_list: + - 'var-naming[no-role-prefix]' 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 }}" |
