Files
proxdeploy/docs/issues/022-template-profile.md
T
2026-10-12 14:37:19 +02:00

2.2 KiB
Raw Blame History

#022 Templates mit eingebackenen Profilen

Status: erledigt Meilenstein: v0.3.0 Labels: feature, proxmox Geschätzt: 4 h Tatsächlich: 0 h 22 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 profile erweitern (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, Tags proxdeploy-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-docker auf 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.ts für Provisionierung über den Guest-Agent (Deploy und Template).