diff options
| author | Ahmed Abdelhalim <[email protected]> | 2025-09-10 22:20:09 +0200 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2025-09-10 22:20:09 +0200 |
| commit | b92b0101920627cf0b8e7dd0d826d25b9fd96a41 (patch) | |
| tree | 442461f5edf1d9a6b937c5457d7a67c2fad2c999 | |
| parent | 7c51e0642ec18a88adb8d4b56c54d6de0e0d12cf (diff) | |
Refactor site playbooks to be more host oriented
This also improves the dependency management, making the roles less
repeating when not needing to execute multiple times
| -rw-r--r-- | roles/package_cache/meta/argument_specs.yml | 6 | ||||
| -rw-r--r-- | roles/package_cache/meta/main.yml | 18 | ||||
| -rw-r--r-- | roles/package_cache/tasks/main.yml | 8 | ||||
| -rw-r--r-- | site.yml | 44 |
4 files changed, 55 insertions, 21 deletions
diff --git a/roles/package_cache/meta/argument_specs.yml b/roles/package_cache/meta/argument_specs.yml new file mode 100644 index 00000000..002f7ce3 --- /dev/null +++ b/roles/package_cache/meta/argument_specs.yml @@ -0,0 +1,6 @@ +--- +argument_specs: + main: + short_description: "Update distro package cache" + description: "Update Linux distribution default package cache" + options: {} diff --git a/roles/package_cache/meta/main.yml b/roles/package_cache/meta/main.yml new file mode 100644 index 00000000..5341556c --- /dev/null +++ b/roles/package_cache/meta/main.yml @@ -0,0 +1,18 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Update distro package cache" + company: "kartoffeln.work GmbH." + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "ArchLinux" + versions: + - "all" + - name: "Ubuntu" + versions: + - "noble" + - name: "Debian" + versions: + - "bookworm" diff --git a/roles/package_cache/tasks/main.yml b/roles/package_cache/tasks/main.yml new file mode 100644 index 00000000..0e14438a --- /dev/null +++ b/roles/package_cache/tasks/main.yml @@ -0,0 +1,8 @@ +--- +- name: "Update package cache" + become: true + ansible.builtin.package: + update_cache: true + async: 60 + poll: 5 + failed_when: false @@ -1,32 +1,22 @@ --- -- name: "Distro bootstrap configure" +- name: "Dev machines configure" gather_facts: true - # Password policy is technically not required for boot, - # But it's quite nice to configure it for boot and therefore - # enforce the required policies/configurations wanted for the first passwrod change - tags: ["required_for_boot"] - hosts: all + hosts: + - archlinux.local + - ubuntu.local roles: + - role: "package_cache" + tags: ["required_for_boot"] - role: "hostname" + tags: ["required_for_boot"] - role: "network" + tags: ["required_for_boot"] - role: "user" + tags: ["required_for_boot"] - role: "ssh" + tags: ["required_for_boot"] - role: "password_policy" - pre_tasks: - - name: "Update package cache" - become: true - ansible.builtin.package: - update_cache: true - async: 60 - poll: 5 - failed_when: false - -- name: "Dev machines configure" - gather_facts: true - hosts: - - archlinux.local - - ubuntu.local - roles: + tags: ["required_for_boot"] - role: "locales" - role: "timezone" - role: "wireguard" @@ -43,6 +33,18 @@ - rpi5.local become: true roles: + - role: "package_cache" + tags: ["required_for_boot"] + - role: "hostname" + tags: ["required_for_boot"] + - role: "network" + tags: ["required_for_boot"] + - role: "user" + tags: ["required_for_boot"] + - role: "ssh" + tags: ["required_for_boot"] + - role: "password_policy" + tags: ["required_for_boot"] - role: "locales" - role: "timezone" - role: "wireguard" |
