From a998949081318bc7f28b5b09e5a07ad502e7154d Mon Sep 17 00:00:00 2001 From: Thomas Stallinger Date: Sat, 1 Aug 2026 15:35:21 +0200 Subject: [PATCH] feat: initial ansible-content repo with placeholder roles for agent verification Ein Platzhalter je Merkmal aus der Schulcomputer-Bereitstellungsvorlage (guest-session, brave-fedora, onlyoffice-fedora), zum Beweis der ansible-pull-Pipeline des Provisioning Agent. --- README.md | 21 +++++++++++++++++++++ roles/brave-fedora/tasks/main.yml | 11 +++++++++++ roles/guest-session/tasks/main.yml | 11 +++++++++++ roles/onlyoffice-fedora/tasks/main.yml | 11 +++++++++++ site.yml | 15 +++++++++++++++ 5 files changed, 69 insertions(+) create mode 100644 README.md create mode 100644 roles/brave-fedora/tasks/main.yml create mode 100644 roles/guest-session/tasks/main.yml create mode 100644 roles/onlyoffice-fedora/tasks/main.yml create mode 100644 site.yml diff --git a/README.md b/README.md new file mode 100644 index 0000000..a675c5b --- /dev/null +++ b/README.md @@ -0,0 +1,21 @@ +# ansible-content + +Ansible-Rollen, die der Tuxflotte Provisioning Agent per `ansible-pull` gegen installierte Geräte anwendet. + +Rollennamen entsprechen 1:1 der Spalte `ansible_role` in der `blueprints`-Tabelle des Provisioning-Servers (siehe `provisioning-server/migrations/0005_seed_workspace_backend_blueprint_data.sql`). + +`site.yml` bindet jede Rolle unter einem zu ihrem Namen passenden Tag ein. Der Agent ruft sie über: + +``` +ansible-pull -U --tags ,,... -i localhost, site.yml +``` + +## Aktueller Stand + +Alle Rollen sind Platzhalter — sie hinterlegen nur eine Marker-Datei unter `/run/tuxflotte/agent/applied/.marker`, um die End-to-End-Pipeline (Server → Agent → ansible-pull → Rolle) nachzuweisen. Echte Rolleninhalte folgen später. + +## Neue Rolle hinzufügen + +1. `roles//tasks/main.yml` anlegen +2. Eintrag in `site.yml` mit `tags: ` ergänzen +3. Entsprechenden `ansible_role`-Wert in der `blueprints`-Tabelle referenzieren diff --git a/roles/brave-fedora/tasks/main.yml b/roles/brave-fedora/tasks/main.yml new file mode 100644 index 0000000..cb31b49 --- /dev/null +++ b/roles/brave-fedora/tasks/main.yml @@ -0,0 +1,11 @@ +- name: Ensure marker directory exists + ansible.builtin.file: + path: /run/tuxflotte/agent/applied + state: directory + mode: "0755" + +- name: Record that the brave-fedora role ran + ansible.builtin.copy: + dest: /run/tuxflotte/agent/applied/brave-fedora.marker + content: "{{ ansible_date_time.iso8601 }}\n" + mode: "0644" diff --git a/roles/guest-session/tasks/main.yml b/roles/guest-session/tasks/main.yml new file mode 100644 index 0000000..42a52df --- /dev/null +++ b/roles/guest-session/tasks/main.yml @@ -0,0 +1,11 @@ +- name: Ensure marker directory exists + ansible.builtin.file: + path: /run/tuxflotte/agent/applied + state: directory + mode: "0755" + +- name: Record that the guest-session role ran + ansible.builtin.copy: + dest: /run/tuxflotte/agent/applied/guest-session.marker + content: "{{ ansible_date_time.iso8601 }}\n" + mode: "0644" diff --git a/roles/onlyoffice-fedora/tasks/main.yml b/roles/onlyoffice-fedora/tasks/main.yml new file mode 100644 index 0000000..4425d38 --- /dev/null +++ b/roles/onlyoffice-fedora/tasks/main.yml @@ -0,0 +1,11 @@ +- name: Ensure marker directory exists + ansible.builtin.file: + path: /run/tuxflotte/agent/applied + state: directory + mode: "0755" + +- name: Record that the onlyoffice-fedora role ran + ansible.builtin.copy: + dest: /run/tuxflotte/agent/applied/onlyoffice-fedora.marker + content: "{{ ansible_date_time.iso8601 }}\n" + mode: "0644" diff --git a/site.yml b/site.yml new file mode 100644 index 0000000..dff541b --- /dev/null +++ b/site.yml @@ -0,0 +1,15 @@ +- hosts: localhost + connection: local + become: true + tasks: + - include_role: + name: guest-session + tags: guest-session + + - include_role: + name: brave-fedora + tags: brave-fedora + + - include_role: + name: onlyoffice-fedora + tags: onlyoffice-fedora