• v0.9.0 7658a10315

    v0.9.0 Stable

    kerem released this 2026-02-27 11:56:26 +03:00 | 167 commits to main since this release

    📅 Originally published on GitHub: Fri, 27 Feb 2026 08:58:48 GMT
    🏷️ Git tag created: Fri, 27 Feb 2026 08:56:26 GMT

    🤖 Development Note
    This major refactoring was made possible by a combination of community contributions, development and AI-assisted development. The architecture restructuring and new module scaffolding involved AI pair-programming. Several key fixes and features were contributed by community members (see Contributors below). All code – whether AI-generated, community-contributed, or written in-house – was reviewed by our core team before merge. Due to the scope of changes, some issues were identified post-release and addressed in v0.9.0.1 and v0.9.0.2. We apologize for any issues this caused and appreciate the patience and feedback from our community.

    🏗️ Architecture Overhaul

    This is a major release – PegaProx has been completely restructured from a single 42,000-line monolith into a clean, modular Python package.

    • Code Splitpegaprox/ package with 8-layer architecture (constants → models → core → utils → api → background → app)
    • Frontend Split – Source files in web/src/*.js with dedicated build system
    • Archive-Based Updates – Automatic updates via GitHub archive download (no manual release files needed)
    • Production Dockerfilepython:3.12-slim, non-root user, healthcheck, persistent volumes

    🔀 ESXi Migration

    • ESXi Import Wizard – Migrate VMs from ESXi hosts directly to Proxmox
    • Near-Zero Downtime – Transfer running VMs with minimal interruption (recommended: max. 1 VM at a time)
    • Offline Migration – Shut down and transfer for maximum reliability
    • SSH Required – ESXi host must have SSH enabled for migration

    📸 Efficient LVM Snapshots

    • Space-Efficient Snapshots – LVM COW snapshots for shared iSCSI SAN storage (saves 85–95% disk space)
    • Health Monitoring – Auto-extend at 90%, auto-invalidate at 100% (only snapshot lost, never VM data)
    • Full CRUD – Create, list, delete, and rollback efficient snapshots via API and UI

    💿 Ceph Management

    • Ceph Dashboard – Monitor and manage Ceph storage pools, OSDs, and monitors
    • Pool Management – Create, resize, and configure Ceph pools

    ⚖️ Cross-Cluster Operations

    • Cross-Cluster Load Balancing – Distribute workloads across multiple clusters
    • Cross-Cluster Replication – Replicate VMs between clusters

    🏢 Corporate Layout (Experimental)

    • Tree-Based Sidebar – Inventory tree with inline nodes under selected cluster
    • Dense Tables – Compact table layout inspired by enterprise management tools
    • Toggle – Switch between Modern and Corporate layout in Profile → Appearance

    🐛 Bug Fixes

    • VM Deletion – Sanitize boot order before delete, wait for Proxmox task completion (#79)
    • Scheduler Crashget_client_ip() now handles missing Flask request context in background threads (#87)
    • SSH Key Compatibility – Safe fallback for paramiko.DSSKey removal in paramiko 3.x+, added ECDSA support to all SSH paths
    • CORS Crash – Fixed flask_cors crash when origins=None with supports_credentials=True
    • Stale Closures – Fixed React state updates using functional updaters in tab data loading

    Improvements

    • Affinity Rules – Now work for LXC containers too, with enforcement flag
    • PBS Integration – Proxmox Backup Server management
    • Update Scriptrsynctar fallback for minimal Debian/LXC installs without rsync
    • ESXi Rename – All user-facing "VMware" text changed to "ESXi" for legal compliance

    📋 Updating

    cd /opt/PegaProx
    curl -O https://raw.githubusercontent.com/PegaProx/project-pegaprox/refs/heads/main/update.sh
    chmod +x update.sh
    sudo ./update.sh
    

    Or use the built-in Web UI updater: Settings → Updates → Check for Updates

    🙏 Contributors

    Thanks to all community contributors for bug reports, PRs, and feedback!

    • @ry-ops – SSH null fallback, disk move, VNC console, deploy script, update permissions, search navigation fixes
    • @zakirpcs – RPM packaging support
    Downloads