Skip to content

docs: proxmox:// bootstrap metal-validated + QGA finding#111

Merged
astrojerms merged 1 commit into
mainfrom
docs/proxmox-bootstrap-validated
Jul 7, 2026
Merged

docs: proxmox:// bootstrap metal-validated + QGA finding#111
astrojerms merged 1 commit into
mainfrom
docs/proxmox-bootstrap-validated

Conversation

@astrojerms

Copy link
Copy Markdown
Owner

Records the homelab metal validation of the proxmox:// self-hosting bootstrap and flips its roadmap item [~]→[x].

Result (2026-07-07, pve1351)

With a static IP, install --target "proxmox://homelab?...&ip=192.168.0.235/24&gateway=192.168.0.1" created the VM → applied the static IP → waited for SSH → deployed the cross-built Linux controller. The systemd openctl-controller.service came up active, :9444 (gRPC) + :9445 (UI) listening.

Prereq documented: make build-controller-linux first (the installer expects the pre-built bin/openctl-controller-linux-amd64; it does not cross-compile on the fly).

Real finding → new follow-up item

DHCP mode times out on IP discovery: it relies on the qemu-guest-agent, but the QGA-install cicustom snippet silently no-ops on local-lvm (LVM storages can’t hold snippets content), so QGA never installs and the DHCP IP is undiscoverable. Static ip=… bypasses it. Added a roadmap follow-up to harden the QGA-install path (install QGA via cloud-init packages, auto-pick a snippets storage, or fail loudly instead of a 10-minute timeout).

Docs-only.

Metal-validated the proxmox:// bootstrap on the homelab (2026-07-07):
with a static IP, install --target proxmox://homelab?...&ip=... created
the VM, applied the static IP, waited for SSH, and deployed the
cross-built Linux controller -- systemd openctl-controller.service came
up active with :9444 (gRPC) + :9445 (UI) listening. Flip [~] -> [x].

Prereq documented: make build-controller-linux (the installer expects a
pre-built bin/openctl-controller-linux-amd64).

Known limitation found: DHCP mode times out on IP discovery because the
QGA-install cicustom snippet silently no-ops on local-lvm (LVM storages
cannot hold snippets content), so qemu-guest-agent never installs and
the DHCP IP is undiscoverable. Static ip=... bypasses QGA. Added a
follow-up roadmap item to harden the QGA-install path (cloud-init
packages, or auto-pick a snippets storage, or fail loudly instead of a
10m timeout).
@astrojerms astrojerms merged commit 37d96ef into main Jul 7, 2026
6 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