summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2025-09-10 22:20:09 +0200
committerAhmed Abdelhalim <[email protected]>2025-09-10 22:20:09 +0200
commitb92b0101920627cf0b8e7dd0d826d25b9fd96a41 (patch)
tree442461f5edf1d9a6b937c5457d7a67c2fad2c999
parent7c51e0642ec18a88adb8d4b56c54d6de0e0d12cf (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.yml6
-rw-r--r--roles/package_cache/meta/main.yml18
-rw-r--r--roles/package_cache/tasks/main.yml8
-rw-r--r--site.yml44
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
diff --git a/site.yml b/site.yml
index ce4fd5fb..8c533a07 100644
--- a/site.yml
+++ b/site.yml
@@ -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"