VM images Phase B: qcow2 support in publish-to-forgejo.sh (vm-images package) + import-only install.sh #8

Open
opened 2026-06-17 22:26:16 +00:00 by hclaude · 0 comments
Owner

Part of #6. Phase B of the "mostly working" VM-image plan.

Goal

Teach src/publish-to-forgejo.sh to publish the qcow2 VM artifacts, and emit an
import-only PVE install helper.

Requirements

  • R8 Collect *.qcow2 (+ *.install.sh, *.manifest.txt) in addition to *.tar.zst. Publish under a separate package vm-images (own version axis + latest, distinct from lxc-templates), starting version 0.1.0.
  • Reuse the dateless remote_name() strip already shipped (66b2175) so registry names are …_amd64.qcow2.
  • R9 Emit <artifact>.install.sh as import-only: qm create (--serial0 socket --agent enabled=1 --scsihw virtio-scsi-single) → qm importdiskqm set --scsi0 …,discard=on,ssd=1 --boot order=scsi0. Leaves the VM stopped and NON-template. No qm template, no qm clone, no qm start, no cloud-init values — those are GUI actions on the operator side (PVE Cloud-Init tab).
  • SHA256SUMS + release notes over the qcow2 (dateless), same as the LXC path.

Note

Build host has no qm; the script only emits the helper text. qm runs on the PVE host.

Part of #6. Phase B of the "mostly working" VM-image plan. ## Goal Teach `src/publish-to-forgejo.sh` to publish the qcow2 VM artifacts, and emit an **import-only** PVE install helper. ## Requirements - [ ] **R8** Collect `*.qcow2` (+ `*.install.sh`, `*.manifest.txt`) in addition to `*.tar.zst`. Publish under a **separate package** `vm-images` (own version axis + `latest`, distinct from `lxc-templates`), starting version **`0.1.0`**. - [ ] Reuse the dateless `remote_name()` strip already shipped (66b2175) so registry names are `…_amd64.qcow2`. - [ ] **R9** Emit `<artifact>.install.sh` as **import-only**: `qm create` (`--serial0 socket --agent enabled=1 --scsihw virtio-scsi-single`) → `qm importdisk` → `qm set --scsi0 …,discard=on,ssd=1 --boot order=scsi0`. **Leaves the VM stopped and NON-template.** No `qm template`, no `qm clone`, no `qm start`, no cloud-init values — those are GUI actions on the operator side (PVE Cloud-Init tab). - [ ] SHA256SUMS + release notes over the qcow2 (dateless), same as the LXC path. ## Note Build host has no `qm`; the script only emits the helper text. `qm` runs on the PVE host.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ECS-Public-Infra/Create-Templates#8
No description provided.