Files
proxmox-api-simulator/docs/compatibility.md
T
Sergey Antropoff 48df10b17e Prepare 0.1.0 for lab release: durable handlers, HTTP Compose, CI, and pulumi-tests.
- Harden DB-backed handlers and seed profiles; align client wire shapes for
  cluster resources, QEMU config, and node SSL fields
- Serve plain HTTP on Compose :8006; keep TLS optional (--profile tls) and
  terminate HTTPS at Kubernetes Ingress
- Add pulumi-tests (full contract surface majors 6–9 + BPG lifecycle) and
  make pulumi-tests
- Ship bilingual docs, CHANGELOG, SECURITY, CONTRIBUTING, and GitHub Actions
  (make ci + Compose/Helm validation)
2026-07-18 04:18:05 +03:00

2.9 KiB
Raw Blame History

Language / Язык: English | Русский

Compatibility

This document explains how the simulator claims compatibility with Proxmox VE API majors 69. Prefer live reports when the process is running.

Live reports

URL Format
/admin/compatibility JSON
/admin/compatibility.md Markdown
/admin/compatibility.html HTML

The Web UI also exposes a compatibility panel via /ui/api/compatibility?major=N.

Registry and verified surface coverage

Version Declared Implemented Verified Coverage
6.4-15 504 504 504 100%
7.4-16 540 540 540 100%
8.4.5 605 605 605 100%
9.2.3 675 675 675 100%

Older majors map legacy path synonyms through legacy_aliases onto the shared handler set.

  • Implemented — a semantic handler is registered.
  • Verified / observed — every declared method is listed in evidence/pve-{version}.json (surface ledger). Regenerate with make evidence. Guarded by tests/compatibility/test_verified_surface.py.

After Apply as runtime (POST /ui/api/contract/apply?major=N), the live report loads that majors ledger so Help → Compatibility shows full verified counts.

Evidence dimensions

Compatibility scoring uses thirteen independent dimensions (routing, input shape, HTTP status, JSON structure, state semantics, long tasks, permissions, …). Per-major ledgers in evidence/pve-{version}.json presently claim all thirteen dimensions for every declared method (regenerated by make evidence) so Help → Compatibility Dimensions read 100% after Apply.

Executable backing for those claims:

Suite Role
tests/compatibility/test_verified_surface.py hot-swap + ledger drift + score gates
tests/compatibility/test_group_smoke.py access / qemu / lxc / storage / cluster / SDN / node ops with PostgreSQL
tests/compatibility/test_proxmoxer.py external proxmoxer HTTPS smoke

Historical rich provenance from evidence/pve-9.2.3-0.1.0.json is still merged into the 9.2.3 ledger sources on regenerate.

External client smoke

make test-compatibility runs an unmodified proxmoxer 2.3 flow against the Compose TLS gateway (PROXMOXER_HOST / PROXMOXER_PORT). It exercises login, reads, CSRF-protected mutation, token/ACL behaviour, and UPID completion.

Additional cookbooks under examples/ are manual or CI-optional depending on the stack.

Known behavioural limits

Area Behaviour
External systems LDAP / OpenID / ACME / Ceph do not contact real remotes
TLS Local self-signed development gateway only
Hypervisor No real KVM/LXC execution
Observation corpus Sanitized real-PVE observation data remains limited

Historical release notes: compatibility-0.1.0.md.