Run 5 on the real host bisected the guest hang: the Debian 13 image hangs after GRUB under SeaBIOS with or without our seed and with either CPU model, and boots under OVMF. The image's legacy boot chain is the problem, not the provider. images.<key>.firmware is "uefi" (default) or "bios". The domain XML emits <os firmware="efi"> with secure boot off, so libvirt selects the OVMF binary and manages the NVRAM file, which the existing nvram undefine flag removes. Direct-URL images default to UEFI too. OVMF joins the hypervisor prerequisites; sample, config table, known gaps, decision log and the execution log record the finding. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
57 lines
2.8 KiB
YAML
57 lines
2.8 KiB
YAML
# Sample --providers-config file (not a Kubernetes manifest). In-cluster
|
|
# this content lives in the providers-config ConfigMap
|
|
# (config/manager/providers_config.yaml); for `make run-dev` a
|
|
# kubernetes-only variant is at hack/providers-dev.yaml.
|
|
#
|
|
# Named provider instances: "gcp-eu" and "gcp-us" are two configs of the
|
|
# same type. spec.provider on a Proxy refers to the name, not the type.
|
|
providers:
|
|
- name: kubernetes
|
|
type: kubernetes
|
|
# kubernetes:
|
|
# image: ubuntu/squid:6.6-24.04_edge # the default
|
|
- name: gcp-eu
|
|
type: gcp
|
|
gcp:
|
|
project: my-project
|
|
# network: default # VPC network name
|
|
# networkTag: proxy-operator # firewall tag on created instances
|
|
# diskSizeGb: 10
|
|
# auth: Application Default Credentials (workload identity
|
|
# in-cluster, gcloud ADC locally). No key-file plumbing.
|
|
- name: kvm-home
|
|
type: kvm
|
|
kvm:
|
|
# SSH to each host with the libvirt unix socket forwarded through the
|
|
# connection; nothing to open on the hypervisors beyond sshd. Both
|
|
# files come from the optional kvm-ssh Secret mounted by
|
|
# config/manager/manager.yaml — see docs/kvm-provider.md.
|
|
sshKeyFile: /etc/proxy-operator/kvm/id_ed25519
|
|
knownHostsFile: /etc/proxy-operator/kvm/known_hosts
|
|
# insecureIgnoreHostKey: true # skip host-key checks (not recommended)
|
|
# diskSizeGb: 10 # per-VM overlay; cloud-init grows the root fs into it
|
|
# vendorData: | # default installs qemu-guest-agent for IP discovery
|
|
# #cloud-config
|
|
# ...
|
|
images:
|
|
# placement.image names a key here (or is an https:// URL directly).
|
|
# Fetched into each host's pool on first use and cached there as
|
|
# base-<key>.qcow2; do not change an entry while Proxies use it.
|
|
debian-13:
|
|
url: https://cloud.debian.org/images/cloud/trixie/latest/debian-13-generic-amd64.qcow2
|
|
# sha256: "<64 hex>" # optional; verified after download
|
|
# firmware: uefi # default; "bios" only for images with no EFI partition
|
|
# # (Debian 13 does not boot via BIOS, see docs/kvm-provider.md)
|
|
ubuntu-24.04:
|
|
url: https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img
|
|
machineTypes: # placement.machineType names a key here
|
|
small: {vcpus: 1, memoryMiB: 1024}
|
|
medium: {vcpus: 2, memoryMiB: 2048}
|
|
hosts: # placement.zone names a host; optional with one host
|
|
- name: nas1
|
|
address: nas1.home.lan:22
|
|
user: virt # must be in the libvirt group
|
|
bridge: br0 # to a LAN with DHCP; the VM's IP comes from there
|
|
# socket: /var/run/libvirt/libvirt-sock
|
|
# pool: default
|