From 2aa105e6cc8255e07867ed2efb025814d952c1d2 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Fri, 12 Sep 2025 21:31:20 +0200 Subject: Split the playbooks into bootstrap and configure This is to allow the ansible-distro-install to safely call the bootstrap playbook without getting validation errors about the other configure roles (especially if they are not configured yet, or if running on CI) --- bootstrap.yml | 15 +++++++++++++++ configure.yml | 29 +++++++++++++++++++++++++++++ site.yml | 55 ++++--------------------------------------------------- 3 files changed, 48 insertions(+), 51 deletions(-) create mode 100644 bootstrap.yml create mode 100644 configure.yml diff --git a/bootstrap.yml b/bootstrap.yml new file mode 100644 index 00000000..184906e8 --- /dev/null +++ b/bootstrap.yml @@ -0,0 +1,15 @@ +--- +- name: "Dev machines bootstrap" + gather_facts: true + tags: ["required_for_boot"] + hosts: + - archlinux.local + - ubuntu.local + - rpi5.local + roles: + - role: "package_cache" + - role: "hostname" + - role: "network" + - role: "user" + - role: "ssh" + - role: "password_policy" diff --git a/configure.yml b/configure.yml new file mode 100644 index 00000000..e4e8c4d6 --- /dev/null +++ b/configure.yml @@ -0,0 +1,29 @@ +--- +- name: "Dev machines configure" + gather_facts: true + hosts: + - archlinux.local + - ubuntu.local + roles: + - role: "locales" + - role: "timezone" + - role: "wireguard" + - role: "homebrew" + - role: "python" + - role: "go" + - role: "docker" + - role: "podman" + - role: "ansible" + +- name: "Raspberry Pi configure" + gather_facts: true + hosts: + - rpi5.local + become: true + roles: + - role: "locales" + - role: "timezone" + - role: "wireguard" + - role: "gateway" + - role: "wg_portal" + - role: "pihole" diff --git a/site.yml b/site.yml index bf2136f0..f2140ce6 100644 --- a/site.yml +++ b/site.yml @@ -1,53 +1,6 @@ --- -- name: "Dev machines configure" - gather_facts: true - 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" - tags: ["required_for_boot"] - - role: "locales" - - role: "timezone" - - role: "wireguard" - - role: "homebrew" - - role: "python" - - role: "go" - - role: "docker" - - role: "podman" - - role: "ansible" +- name: "Bootstrap" + ansible.builtin.import_playbook: "bootstrap.yml" -- name: "Raspberry Pi configure" - gather_facts: true - hosts: - - 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" - - role: "gateway" - - role: "wg_portal" - - role: "pihole" +- name: "Configure" + ansible.builtin.import_playbook: "configure.yml" -- cgit v1.2.3