# #007 Template-Bau für VMs **Status:** erledigt **Meilenstein:** v0.2.0 **Labels:** feature, proxmox **Geschätzt:** 8 h **Tatsächlich:** 0 h 12 min ## Ziel Cloud-Image laden, Prüfsumme prüfen, VM anlegen, Disk importieren, Guest-Agent einbauen, als Template markieren. ## Aufgaben - [x] Weg A (≥ 8.4): `download-url` (content=import, checksum) + `import-from` per Volume-ID - [x] Weg B (SSH): Download + Prüfung auf dem Node, Import per `qm importdisk`/`import-from` - [x] VMID: nächste freie im Template-Bereich (Entscheidung 2026-10-12) - [x] Hardware: q35, OVMF+EFI-Disk (Standard) oder SeaBIOS, virtio-scsi-single, discard/ssd/iothread, CPU host, serielle Konsole, agent=1, cloud-init-Laufwerk - [x] Guest-Agent einbauen per Snippet (SSH); Weg über Bau-Adresse ohne SSH → #021 - [x] Template-Übersicht je Server/Node, VMID-Bereich konfigurierbar - [x] Singleton je Server+Distribution ## Akzeptanzkriterien - [x] Debian-13-Template auf pve-demo (PVE 9.2.2) gebaut, Auftrag t-8zca3, 5 min 26 s; 8.x folgt im Feldtest (#020) ## Abhängigkeiten #005, #006 ## Notizen / Entscheidungen - **Image-Dateiname mit Prüfsummen-Präfix** (`proxdeploy-debian-13-f46f0671a6e5.qcow2`): ein neues „latest“-Image wird neu geladen, ein gleiches wiederverwendet. - **Proxmox prüft die Prüfsumme selbst** (`download-url` mit `checksum`); ProxDeploy holt sie vorher aus SHA512SUMS/SHA256SUMS. - **Vorbereitungsstart mit vendor-data:** qemu-guest-agent, Maschinen-ID leeren (sonst teilen sich Klone DHCP-Client-ID), `cloud-init clean`, poweroff. Snippet und `cicustom` werden auch nach einem Fehler entfernt. - **UEFI mit `pre-enrolled-keys=1`** (Secure Boot an) – Debian 13 bootet damit; Proxmox setzt selbst `ms-cert=2023k`. - Auf dem Testhost dauerte der Vorbereitungsstart ~70 s.