🔌 Plugin System
- Auto-Discovery — Drop plugin folders into
plugins/, PegaProx detects them automatically - Runtime Loading — Enable/disable plugins without server restart via Settings → Server → Plugins
- Plugin API — Plugins register route handlers via
register_plugin_route(), accessed through catch-all proxy - Security Disclaimer — Warning banner reminding admins to review plugin code before enabling
- Rescan & Delete — Scan for new plugins and remove installed ones from the UI
⚖️ Balancing Tolerance / Hysteresis
- Migration Tolerance — New deadband parameter (0–20) prevents VMs from ping-ponging between nodes
- VM Cooldown — 15-minute cooldown after migration, same VM can't be picked again immediately
- Storage Cluster Tolerance — Per-storage-cluster deadband for storage balancing
- Pool Exclusion — Exclude entire Proxmox pools from auto-balancing (like VM/node exclusion)
🛡️ Bug Fixes
- Cross-cluster replication clone storage fix (#192)
- CVE scanner / SMBIOS SSH fixes for failover & offline nodes (#199, #198)
- PBS VM backups not showing on linked PBS (#143)
- Login background upload 403 behind reverse proxy (#210)
- Rolling update log vanishing + wrong node count (#179, #180)
- Ceph panel on PVE 9 + Ceph Squid compatibility (#191)
- OIDC PKCE support for Authentik (#188)
- Custom role editing + name persistence (#167)
- Corporate overview Cluster Storage now includes local datastores
- Reverse proxy VNC/SSH WebSocket port reuse (PR #173)
- Various: migration WARNINGS status, support bundle OOM, nginx.conf patterns
⚡ Improvements
- CVE Scanner PNG + PDF export
- Backup schedule editing (#207)
- Custom role edit UI with permission checkboxes
- Site recovery: 8 missing audit log operations added
- VNC cert hints hidden when reverse proxy is active
- Updated nginx.conf example with correct WebSocket URL patterns
👥 Contributors
- @aderumier — Reverse proxy WebSocket port reuse
- @wakbijok — CVE scanner failover + SMBIOS offline node fixes
- @WaellerKlaus — Ceph PVE 9 compatibility report
📋 Updating
Use the built-in web updater in Settings → Updates, or manually:
cd /opt/PegaProx
curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/update.sh
chmod +x update.sh && sudo bash update.sh