Ohne SSH zum Node kommt der Guest-Agent jetzt über eine feste Bau-Adresse ins Template: cloud-init setzt Adresse und den Bereitstellungsschlüssel für den Standardbenutzer, ProxDeploy meldet sich per SSH in der VM an, installiert den Agent und entfernt danach Schlüssel, Adresse und cloud-init-Angaben. Dabei korrigiert: der Verbindungstest meldete „Template-Bau per API“ auch ohne Weg, den Agent einzubauen. Im Protokoll erscheinen unveränderte JSON-Felder nicht mehr als geändert. Refs #021 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
#021 Template-Bau ohne SSH (Bau-Adresse)
Status: umgesetzt, Abnahme auf pve-demo ausstehend Meilenstein: v0.3.0 Labels: feature, proxmox Geschätzt: 3 h Tatsächlich: 0 h 25 min
Ziel
Templates auch auf Servern ohne SSH zum Node bauen. Der Guest-Agent wird dann nicht per Snippet, sondern über SSH in die Vorbereitungs-VM eingebaut.
Aufgaben
- Server-Einstellung
bauNetz: statische IP/CIDR, Gateway, DNS (Bridge/VLAN wie beim Template-Bau gewählt) - Vorbereitungsstart mit cloud-init
ipconfig0= Bau-Adresse und ProxDeploys Bereitstellungsschlüssel insshkeys - SSH in die VM (Host-Key aus der Konsole nicht prüfbar → Schlüssel nur für diese eine Verbindung), qemu-guest-agent installieren, Maschinen-ID leeren,
cloud-init clean, ausschalten - Fähigkeitserkennung: „Template-Bau per API ohne SSH möglich, wenn Bau-Adresse gesetzt“
Akzeptanzkriterien
- Template-Bau auf pve-demo mit abgeschaltetem SSH
Abhängigkeiten
#007
Notizen / Entscheidungen
- Fähigkeitserkennung war zu optimistisch: „Template-Bau per API“ stand auch ohne Node-SSH da, obwohl der Guest-Agent dann nicht hineinkam. Jetzt: per API nur mit Snippet-Weg oder Bau-Adresse.
- Der Bereitstellungsschlüssel kommt per cloud-init an den Standardbenutzer des Images; danach werden alle authorized_keys, ciuser, sshkeys und die feste Adresse entfernt.
- Host-Key der frischen VM ist vorher unbekannt (TOFU, nur für diese eine Verbindung).
- Aus #007 ausgegliedert, damit Etappe 2 nicht wartet: der Testhost hat SSH, und VM-Deployments aus vorhandenen Templates laufen ohnehin ohne SSH.