Summary
Version 0.0.11 is a major feature release. It adds Backup Routines, individual per-object sync buttons, a live job panel, a Backend Logs page, non-blocking live log streaming, encryption key storage, extended storage and replication views, endpoint CSV import/export, auto-push of NetBox endpoint config to the backend, three-tier error severity in sync output, and dozens of bug fixes and stability improvements.
Compatibility
| NetBox | netbox-proxbox | proxbox-api | netbox-sdk | proxmox-sdk |
|---|---|---|---|---|
| >=4.5.7 | v0.0.11 | v0.0.7 | v0.0.7.post4 | v0.0.2.post2 |
NetBox compatibility range: 4.5.0 – 4.5.99 (verified on v4.5.7 with django-rq 4.0).
New Features
Backup Routines
Proxbox now discovers and stores Proxmox vzdump backup schedules as BackupRoutine objects in NetBox. Each routine captures the job ID, enabled state, schedule (cron expression), storage target, compression mode, and retention policies (keepLast, keepHourly, keepDaily, keepWeekly, keepMonthly, keepYearly). Routines can be synced individually or as part of a Full Update. Bulk edit and bulk import are supported.
Individual Sync Buttons on All Objects
Every NetBox plugin object (virtual machines, containers, clusters, nodes, backups, snapshots, replications, backup routines, storage) now shows a Sync Now button on its detail page. Clicking the button enqueues a targeted sync job for that single object without triggering a full update.
Live Job Panel and Real-Time Polling
The sync UI now streams job progress through a live panel with stage-by-stage status, log entries, and error counts. Jobs can be followed in real time from the NetBox UI without reloading the page.
Errors Tab in Live Job Panel
A dedicated Errors tab appears in the live job panel when any non-fatal error occurs. Errors are classified into three severity tiers — critical, error, and warning — each shown with a distinct badge colour.
Backend Logs Page
A new Backend Logs page under Plugins → Proxbox streams log output directly from the proxbox-api process via SSE with level-based colouring and filters for log level and date range.
Encryption Key Storage
ProxboxPluginSettings gains an encryption_key field for storing a secret used to encrypt sensitive Proxmox API tokens at rest, surfaced in a new Encryption card on /proxbox/settings/.
Configurable Primary IP Preference
A new setting in ProxboxPluginSettings lets operators choose which IP address Proxbox assigns as the primary IP for synced virtual machines.
Auto-Push NetBox Endpoint Config to Backend
Proxbox now automatically pushes the active NetBoxEndpoint (URL + API token) to proxbox-api on save, startup, keepalive, and before every sync job — removing the manual backend configuration step.
Per-Stage Runtime Breakdown
The sync card now shows wall-clock time spent in each pipeline stage after a sync completes.
Extended Storage Detail Tabs
ProxmoxStorage detail page now has dedicated tabs for Virtual Disks, Backups, and Snapshots with extended fields (content types, shared flag, active status, disk counts).
Extended Replication Fields
Replication objects now expose endpoint, status, and raw_config. Bulk edit and bulk import are supported with a centralised status enum.
Snapshot Bulk Edit and Bulk Import
VM Snapshots now support bulk edit and bulk import from CSV/JSON/YAML.
Endpoint CSV/JSON Import and Export
All three endpoint types support export (safe and sensitive modes) and bulk import. Import auto-creates IPAddress objects from plain strings and strips the id column to prevent cross-instance conflicts.
Token Export Modal Improvements
The export-secrets modal now supports v1/v2 token formats via a selector and includes a Quick Add shortcut.
Task History as a Sync Stage
Task history records from proxbox-api are now fetched and stored as part of the full sync pipeline.
Retry on 5xx Backend Errors
Sync stages that receive a 5xx response are automatically retried up to two times before being marked as failed.
Run Now for Scheduled Jobs
Scheduled jobs in a terminal state now show a Run now button that immediately re-enqueues the same parameters on the high-priority RQ queue.
Bug Fixes
| Area | Fix |
|---|---|
| Security | Fixed IDOR in sensitive endpoint export — token lookup now scoped to requesting user |
| WebSocket | websocket_port now defaults to configured HTTP port instead of hardcoded 8800
|
| Backend handshake | wait_for_backend_ready passes on any HTTP 200 regardless of init_ok field
|
| Backend handshake | Fail fast with clear log message when proxbox-api bootstrap is incomplete
|
| API key push | Registers API key with backend before each NetBoxEndpoint push
|
| RQ queue | Run Now uses high-priority queue for immediate pickup
|
| Templates | Fixed NoReverseMatch — core:job_rerun → core:job_proxbox_run
|
| Templates | Fixed TemplateSyntaxError — hyperlinked_object → linkify
|
| Templates | Fixed schedule page TemplateSyntaxError that hid recurring jobs
|
| Migrations | Fixed pstart migration cast error on PostgreSQL
|
| Migrations | Lowered dcim migration dependency to support NetBox 4.5.0+
|
| Migrations | Added state_operations to squashed migration to remove stale unique_together
|
| Models | Fixed Proxmox API type mismatches for encrypted and pstart fields
|
| API serializers | WritableNestedSerializer for nested endpoint/cluster/node fields
|
| API serializers | Added display, tags, custom_fields, encryption_key to settings serializer
|
| API serializers | select_related chains added; fixed backup routine node URL N+1
|
| CSV import | Fixed id-column stripping override in create_and_update_objects
|
| CSV import | Fixed circular import with lazy sync_cluster_and_nodes load
|
| Reinstall | Run migrations in reinstall.sh to prevent missing-column HTTP 500
|
Database Migrations
Migration 0022 (squashed) consolidates schema changes for this release cycle including BackupRoutine, extended Replication fields, encryption_key on settings, and removal of stale unique_together constraints.
python manage.py migrate netbox_proxboxFull release notes: https://emersonfelipesp.github.io/netbox-proxbox/release-notes/version-0.0.11/