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.
This commit is contained in:
Thomas Stallinger 2026-08-01 15:35:21 +02:00
commit a998949081
5 changed files with 69 additions and 0 deletions

21
README.md Normal file
View File

@ -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 <repo-url> --tags <rolle1>,<rolle2>,... -i localhost, site.yml
```
## Aktueller Stand
Alle Rollen sind Platzhalter — sie hinterlegen nur eine Marker-Datei unter `/run/tuxflotte/agent/applied/<rolle>.marker`, um die End-to-End-Pipeline (Server → Agent → ansible-pull → Rolle) nachzuweisen. Echte Rolleninhalte folgen später.
## Neue Rolle hinzufügen
1. `roles/<name>/tasks/main.yml` anlegen
2. Eintrag in `site.yml` mit `tags: <name>` ergänzen
3. Entsprechenden `ansible_role`-Wert in der `blueprints`-Tabelle referenzieren

View File

@ -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"

View File

@ -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"

View File

@ -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"

15
site.yml Normal file
View File

@ -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