Pi5 'butler' (arm64) als AI-Orchestrator-Host aufnehmen

- pfannkuchen.ini: neue Gruppe [ai] mit butler (10.5.85.2), child in all/backup/hawser
- docker-Rolle: arch dynamisch via 'dpkg --print-architecture' statt hardcoded amd64
  (check_mode:false, damit --check auf ARM nicht leeres arch erzeugt) -> arm64-tauglich
- base-Rolle: Raspberry Pi OS erkennen (raspi.sources) -> sources.list-Ueberschreibung
  und qemu-guest-agent auf Pi ueberspringen, damit Pi-Kernel/Firmware-Repos intakt bleiben

Erster Bare-Metal-ARM-Host der Flotte. base+docker+borg+hawser+sysctl erfolgreich
ausgerollt, Docker 29.6.0 arm64 + Hawser aktiv, raspi-Repos unberuehrt.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
sascha 2026-06-25 10:29:39 +02:00
parent bc765668a6
commit 94c58a80ce
3 changed files with 29 additions and 4 deletions

View file

@ -51,6 +51,10 @@ wolfstack-vm ansible_host=10.1.1.110
[communication]
matrix ansible_host=10.4.1.110
[ai]
# Homelab AI-Orchestrator (Pi5 Bare Metal, arm64, Cloud-LLM Tool-Layer vor dem Butler-Dienst)
butler ansible_host=10.5.85.2
[hetzner]
pfannkuchen ansible_host=159.69.245.190 ansible_user=root ansible_port=2505
@ -89,6 +93,7 @@ infrastructure
hetzner
proxmox
vps
ai
[backup:children]
media
@ -99,6 +104,7 @@ communication
proxmox
hetzner
infrastructure
ai
# Credentials liegen in group_vars/ (nicht im INI, da kein Jinja2-Support)
@ -109,5 +115,6 @@ docker
auto
communication
hetzner
ai

View file

@ -1,4 +1,13 @@
---
- name: Raspberry Pi OS erkennen (raspi-Repo vorhanden?)
stat:
path: /etc/apt/sources.list.d/raspi.sources
register: raspi_repo
- name: Fakt is_raspberry setzen
set_fact:
is_raspberry: "{{ raspi_repo.stat.exists }}"
- name: Hostname setzen
hostname:
name: "{{ inventory_hostname }}"
@ -55,7 +64,7 @@
group: root
mode: "0600"
- name: Standard Debian Trixie Repositories setzen
- name: Standard Debian Trixie Repositories setzen (nicht auf Raspberry Pi OS)
copy:
dest: /etc/apt/sources.list
content: |
@ -71,6 +80,7 @@
group: root
mode: '0644'
register: repo_status
when: not is_raspberry
- name: Apt Cache aktualisieren (falls Repos geändert wurden)
apt:
@ -137,15 +147,17 @@
apt:
autoremove: yes
- name: QEMU Guest Agent installieren
- name: QEMU Guest Agent installieren (nur VMs, nicht Raspberry Pi)
apt:
name: qemu-guest-agent
state: present
ignore_errors: yes
when: not is_raspberry
- name: QEMU Guest Agent aktivieren
- name: QEMU Guest Agent aktivieren (nur VMs, nicht Raspberry Pi)
service:
name: qemu-guest-agent
state: started
enabled: yes
ignore_errors: yes
when: not is_raspberry

View file

@ -11,10 +11,16 @@
dest: /etc/apt/keyrings/docker.asc
mode: '0644'
- name: dpkg-Architektur ermitteln (amd64/arm64)
command: dpkg --print-architecture
register: dpkg_arch
changed_when: false
check_mode: false
- name: Docker Repository Datei erstellen
copy:
dest: /etc/apt/sources.list.d/docker.list
content: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable"
content: "deb [arch={{ dpkg_arch.stdout }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian trixie stable"
mode: '0644'
register: docker_repo