Beim Template-Bau lassen sich Profile wählen (nur solche ohne Pflichtvariablen). Nach dem Vorbereitungsstart laufen sie über den Guest-Agent; danach werden Maschinen-ID, SSH-Host-Keys, Docker-Engine-ID und apt-Cache entfernt. Ausrollen nimmt das Template mit den meisten passenden Profilen und überspringt, was schon eingebacken ist. Auf pve-demo: Provisionierung mit base+docker 141 s ohne, ~30 s mit Template. Dabei gefunden: docker nimmt den Benutzer per guest.user in die Gruppe auf – Profile mit guest.* laufen deshalb beim Deploy noch einmal (idempotent, schnell). Closes #022 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
#022 Templates mit eingebackenen Profilen
Status: erledigt Meilenstein: v0.3.0 Labels: feature, proxmox Geschätzt: 4 h Tatsächlich: 0 h 35 min
Ziel
Beim Template-Bau Profile (z. B. base, docker) gleich mit installieren, damit Deployments schneller fertig sind. Wunsch von Florian am 2026-10-12.
Aufgaben
- Template-Bau-Anfrage um
profileerweitern (nur Profile ohne Pflichtvariablen bzw. mit Standardwerten) - Nach dem Vorbereitungsstart: VM erneut starten, Profile über den Guest-Agent ausführen (gleicher Code wie beim Deployment)
- Aufräumen vor dem Template: Maschinen-ID leeren,
cloud-init clean, SSH-Host-Keys löschen,apt-get clean, Logdatei entfernen - Name/Tags:
tpl-debian-13-docker, Tagsproxdeploy-template;debian-13;profil-docker - Ausrollen: passendes Template bevorzugen (eingebackene Profile ⊆ gewählte); eingebackene Profile beim Deploy überspringen, wenn ihre Variablen den Standardwerten entsprechen
- Optional: zusätzlicher Admin-/Notfall-Schlüssel im Template – zurückgestellt; Standard-Schlüssel je Benutzer/Team kommen stattdessen (#015)
Akzeptanzkriterien
- Template 9002
tpl-debian-13-dockerauf pve-demo (8 min). Provisionierung beim Deploy: 141 s ohne, 29–32 s mit eingebackenem base+docker
Abhängigkeiten
#007, #008
Notizen / Entscheidungen
- SSH-Schlüssel gehören grundsätzlich nicht ins Template: beim Wechsel müsste jedes Template und jeder Klon angefasst werden. Dafür kommen Standard-Schlüssel je Benutzer/Team (aus #015 vorgezogen).
- Fund: Profile mit
{{ guest.* }}hängen vom einzelnen Gast ab (docker nimmt den Benutzer in die Gruppe auf). Sie laufen beim Deploy trotzdem noch einmal – idempotent und schnell. Übersprungen wird nur, was gastunabhängig ist und Standardwerte hat. - Vor dem Template: Maschinen-ID leeren, SSH-Host-Keys und Docker-engine-id löschen, apt-Cache leeren,
cloud-init clean; geprüft: Klone haben eigene Maschinen-ID und eigene Host-Keys. - Ausrollen wählt das Template mit den meisten eingebackenen Profilen, deren Profile alle gewählt sind – nie eins mit ungewählter Software.
- Gemeinsames Modul
gastagent.tsfür Provisionierung über den Guest-Agent (Deploy und Template).