Pull-Mechanik: local.yml, schul-pull.sh, systemd-Units
Laptops ziehen sich das Repo selbst (HTTPS via git.lehrstun.de, SSH-Fallback mit Deploy-Key) und fuehren local.yml aus. Timer laeuft bei Boot + alle 30 min. local.yml haelt die Mechanik selbst aktuell. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
63
local.yml
Normal file
63
local.yml
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
# Wird per ansible-pull auf jedem Laptop lokal ausgefuehrt (via schul-pull.sh).
|
||||
# Aenderungen hier verteilen sich beim naechsten Timer-Lauf auf alle Laptops.
|
||||
- name: Schul-Laptop konfigurieren
|
||||
hosts: localhost
|
||||
connection: local
|
||||
become: true
|
||||
|
||||
tasks:
|
||||
- name: APT-Cache aktualisieren
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: System-Updates installieren (safe upgrade)
|
||||
apt:
|
||||
upgrade: safe
|
||||
|
||||
- name: Standard-Software installieren
|
||||
apt:
|
||||
name: "{{ schul_pakete }}"
|
||||
state: present
|
||||
|
||||
# --- Selbstverwaltung: haelt die Pull-Mechanik auf allen Laptops aktuell ---
|
||||
|
||||
- name: Pull-Script installieren
|
||||
copy:
|
||||
src: files/schul-pull.sh
|
||||
dest: /usr/local/bin/schul-pull.sh
|
||||
mode: "0755"
|
||||
|
||||
- name: systemd-Units fuer ansible-pull installieren
|
||||
copy:
|
||||
src: "files/{{ item }}"
|
||||
dest: "/etc/systemd/system/{{ item }}"
|
||||
mode: "0644"
|
||||
loop:
|
||||
- ansible-pull.service
|
||||
- ansible-pull.timer
|
||||
register: units
|
||||
|
||||
- name: systemd neu laden, falls Units geaendert
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
when: units.changed
|
||||
|
||||
- name: ansible-pull.timer aktivieren
|
||||
systemd:
|
||||
name: ansible-pull.timer
|
||||
enabled: yes
|
||||
state: started
|
||||
|
||||
# --- Status melden ---
|
||||
|
||||
- name: Pruefen ob ein Neustart noetig ist
|
||||
stat:
|
||||
path: /var/run/reboot-required
|
||||
register: reboot_required
|
||||
|
||||
- name: Neustart-Hinweis ins Log schreiben
|
||||
debug:
|
||||
msg: "ACHTUNG: Neustart erforderlich (wird nicht automatisch ausgefuehrt)."
|
||||
when: reboot_required.stat.exists
|
||||
Reference in New Issue
Block a user