Changelog¶
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning. Finding codes are part of the public API.
Unreleased¶
0.1.0 - 2026-10-27¶
Added¶
- Diagnostics:
cluster_health,ceph_health,compare_nodes,recent_task_failures. - Backup audit with direct volume inspection and
vzdumpjob-selection semantics. - Planning:
recommend_placementandplan_node_evacuationwith runbook generation. - Inventory:
list_nodes,list_guests,get_guest(secrets redacted),get_task_status. - Guarded operations:
guest_power,create_snapshot,migrate_guest. - Access tiers (
read_only,operator,admin), two-phase confirmation tokens and a JSONL audit log. triage_clusterandprepare_maintenanceprompts.proxmox-ops-mcp checkconnectivity test; stdio and streamable HTTP transports.- Container image, CI (lint, strict typing, tests on Python 3.11-3.14), CodeQL and a release pipeline with PyPI trusted publishing.
storage_health: ZFS pool state, device and data errors, fill level, scrub age, SMART health, SSD wear and bad sectors.node_maintenance_status: pending Proxmox updates, needed reboots, node certificate expiry.backup_auditreports Proxmox Backup Server verification state.- Server-side write policy:
PROXMOX_WRITE_POOLS,PROXMOX_WRITE_VMIDS,PROXMOX_MAX_WRITES_PER_HOUR. - Documentation site (MkDocs Material, GitHub Pages) and an MCP Registry entry
(
server.json), published by the release workflow. - Supply chain: SHA-pinned actions,
pip-audit,zizmor, OpenSSF Scorecard, build provenance for wheels and image. PROXMOX_TLS_FINGERPRINTcertificate pinning for nodes reached via VPN or IP.- Opt-in live test suite (
tests/live, read-only) for real clusters.
Verified against Proxmox VE 9.2¶
compare_nodesreads CPU and I/O wait fromrrddata(the status call reports 0 on PVE 9) and uses pressure-stall information to rate swap and I/O findings.backup_auditchecks backup visibility privileges first, because Proxmox returns an empty listing instead of an error; affected guests areunknown, nevermissing.- Write preconditions use the node's live guest state instead of the resource cache, and reject locked or paused guests.
ceph_healthexplains clearly when Ceph is not configured.