Files
Andrei KvapilandClaude 039b67ecf1 feat(vm-instance): add firmware config (UEFI/BIOS, Secure Boot, persistent EFI)
Expose a per-VM `firmware` block on the VMInstance API so users can
control the boot mode directly instead of relying solely on the
instanceProfile:

- bootloader: "uefi" (OVMF) or "bios" (SeaBIOS); empty inherits the
  instanceProfile default (backward compatible)
- secureBoot: enable UEFI Secure Boot (also emits domain.features.smm,
  which KubeVirt requires when Secure Boot is on)
- efiPersistent: persist EFI NVRAM so enrolled Secure Boot keys (e.g. an
  updated Microsoft UEFI CA) survive reboots

efiPersistent uses a KubeVirt backend-storage PVC. On the default
ReadWriteOnce storage that PVC pins the VM to its node, so a
persistent-EFI VM cannot be live-migrated; this is documented on the
field and is sufficient for one-time in-guest tasks such as a Microsoft
UEFI CA update. Live-migration would require an RWX-Filesystem
vmStateStorageClass and is out of scope for this chart.

Regenerated values.schema.json, README, the generated API types and
deepcopy, and the vm-instance-rd ApplicationDefinition.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <andrei.kvapil@aenix.io>
2026-08-31 18:35:39 +02:00
..