- 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)
2.9 KiB
Language / Язык: English | Русский
Compatibility
This document explains how the simulator claims compatibility with Proxmox VE API majors 6–9. 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 withmake evidence. Guarded bytests/compatibility/test_verified_surface.py.
After Apply as runtime (POST /ui/api/contract/apply?major=N), the live
report loads that major’s 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.