Skip to content

0.5.0-alpha.5 + alpha.6 — upload/image-seeding/rootfs fixes + QEMU Secure Boot#22

Merged
kleopasevan merged 4 commits into
mainfrom
feat/0.5.0-pluggable-vmm-qemu
Jun 23, 2026
Merged

0.5.0-alpha.5 + alpha.6 — upload/image-seeding/rootfs fixes + QEMU Secure Boot#22
kleopasevan merged 4 commits into
mainfrom
feat/0.5.0-pluggable-vmm-qemu

Conversation

@kleopasevan

Copy link
Copy Markdown
Contributor

Brings the v0.5.0-alpha.5 and v0.5.0-alpha.6 work onto main. Both were released from this branch but never merged back.

alpha.5 (878ddec)

  • Image/ISO upload 400 → fixed. Upload handler is now multipart field-order independent (streams file to staging, resolves destination after parsing all fields). Affected every UI image upload, not just ISO.
  • Internet-mode image seeding → fixed. Online installer falls back to a known-good release tag for base images and fails loudly if a kernel+rootfs are still missing (no more empty /srv/images).
  • QEMU disk-image rootfs resize. create_qcow2_overlay() now runs qemu-img resize (grow-only).

alpha.6 (c8c6547)

  • microVM rootfs size now applies in-guest. Storage fast path runs resize2fs after the clone (the file was grown but the ext4 filesystem wasn't).
  • QEMU Secure Boot option (enable_secure_boot, default ON for Windows): smm=on + secboot OVMF + pre-enrolled MS-keys NVRAM → Windows 11 installs without BypassSecureBootCheck. Surfaced as a wizard toggle.
  • Fixed two stale agent bootindex unit tests.

Changelog (5c4143b)

  • Backfilled CHANGELOG.md entries for alpha.5 and alpha.6.

Gates green on the branch: fmt, clippy -D warnings, 134 manager + 8 nexus-vmm + 97 agent tests, UI build. Both releases are already published and verified live.

Note: main has diverged (0.4.2 fixes incl. a5fc3b1 rootfs/images, landing-page work) — may need conflict resolution before merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_01S7P8qMNkRzXfbT9v9woXUm

kleopasevan and others added 4 commits June 19, 2026 11:11
…ler image fallback

Fixes three defects found testing v0.5.0-alpha.4:

- #2 Image upload always 400: the upload handler required the multipart
  `kind` field to arrive before the `file` part, but browsers append
  `file` first. Stream the file to a staging dir and resolve the
  destination after the loop, making the handler field-order independent.
  Affected every UI image upload (kernel, rootfs, UEFI, ISO).

- #1 microVM rootfs size ignored: create_qcow2_overlay() never applied
  rootfs_size_mb on the disk-image overlay path. Now runs `qemu-img
  resize` (grow-only) when the requested size exceeds the source.

- #3 Internet install ships no kernel/rootfs: pre-release tags don't
  attach base images, the online installer 404'd and reported success
  with an empty registry. Fall back to a known-good release tag for image
  assets, and fail loudly if a kernel + rootfs are still missing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Two issues from peer testing of v0.5.0-alpha.5:

- microVM "rootfs size" had no effect: the storage fast path
  (clone_from_image on LocalFile) extended the rootfs FILE to the
  requested size but never grew the ext4 FILESYSTEM, so the guest still
  saw the source image size. rootfs_allocator now runs resize2fs after
  the clone when an actual grow happened (ext4 only), matching the slow
  path's behavior.

- Windows 11 needed the BypassSecureBootCheck registry hack because VM
  creation offered no Secure Boot. Added an end-to-end Secure Boot
  option (CreateVmReq.enable_secure_boot → VmSpec → agent): when enabled
  the agent boots q35 with smm=on + the cfi.pflash01 secure global,
  selects the secboot OVMF CODE and the pre-enrolled (.ms) NVRAM
  template. Defaults ON for Windows, OFF otherwise; exposed as a toggle
  in the QEMU create wizard's System tab.

Also fixes two stale agent build_args tests that asserted the old CD
bootindex=0 (the policy is disk-first, CDs after → bootindex 1+).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Backfills the missing changelog sections for the two bug-fix releases:
- alpha.5: image/ISO upload ordering, internet-mode image fallback, QEMU
  rootfs resize.
- alpha.6: microVM rootfs resize2fs, QEMU Secure Boot option.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Brings main's 0.4.2 fixes + landing-page work onto the alpha.5/alpha.6 branch.

Conflict: apps/manager/src/features/storage/rootfs_allocator.rs — main's
a5fc3b1 already fixed the microVM rootfs resize2fs issue (the same one
alpha.6 addressed) with a more complete implementation (attach + resize2fs,
reusing the attachment via attached_for_caller). Resolved by keeping main's
version; the alpha.6 duplicate is superseded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kleopasevan kleopasevan merged commit 51e1967 into main Jun 23, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant