Epic: #9 · Blocks: M6 Proxmox accounts/TLS/discovery · type:spike
Question
Does the experimental proxmox-client crate (crates.io, landrzejewski/proxmox-client-rust) satisfy authentication, UPID task polling, custom TLS trust and pinning, unknown-field tolerance, and cancellation against PVE 8.x and 9.x — or does Fleet keep a small reqwest transport plus typed provider DTOs?
Evidence required
- Authentication: API-token auth against both PVE 8.x and 9.x; how credentials are supplied (secret-reference friendly, no env-var singleton).
- TLS: custom root trust and certificate fingerprint pinning without disabling verification anywhere; per-request control.
- UPID: task handle retrieval and polling with deadline/timeout semantics; does it expose cancellation and distinguish "unknown final state" from failure?
- Unknown-field tolerance: loose/null Perl JSON shapes (
null vs missing, stringly-typed numbers) — does the typed surface error or tolerate?
- Endpoint coverage for the M6 epics: cluster resources, node/storage/template discovery, QEMU/LXC list/status, guest-agent network/OS data.
- Maintenance snapshot: release cadence, open issues, adoption, license, MSRV/dependency weight (does it drag the whole
proxmox-rs workspace?).
Recorded fallback (from spikes.md)
Small reqwest transport plus typed provider DTOs, borrowing Purple's parsing patterns. Never accept invalid certificates as the production answer.
Acceptance criteria
Non-goals
- Production provider code inside the spike (a disposable probe project outside the repository is the vehicle, as in FM-S01/FM-S05)
- Choosing M6's account model, permission vocabulary, or executor kinds
Epic: #9 · Blocks: M6 Proxmox accounts/TLS/discovery · type:spike
Question
Does the experimental
proxmox-clientcrate (crates.io,landrzejewski/proxmox-client-rust) satisfy authentication, UPID task polling, custom TLS trust and pinning, unknown-field tolerance, and cancellation against PVE 8.x and 9.x — or does Fleet keep a smallreqwesttransport plus typed provider DTOs?Evidence required
nullvs missing, stringly-typed numbers) — does the typed surface error or tolerate?proxmox-rsworkspace?).Recorded fallback (from spikes.md)
Small
reqwesttransport plus typed provider DTOs, borrowing Purple's parsing patterns. Never accept invalid certificates as the production answer.Acceptance criteria
docs/planning/spikes.mdwith the rejected option nameddocs/research/ecosystem.mdProxmox section refreshed with current versions/commitsNon-goals