v0.0.8: Jobs-first Proxbox sync, multi-stage streams (incl. VM snapshots), squashed migrations, CI/test alignment, Pygments bump on develop tip.
NetBox Proxbox v0.0.8
This release moves Proxbox synchronization onto NetBox Jobs, expands “full” / ALL sync into ordered multi-stage streams (including VM snapshots), and tightens CI, migrations, and UI behavior around the new flow. The develop branch at tag time (a7f702d) passed test, lint, compile, and build-and-deploy workflows.
Highlights
- Jobs-first sync —
SyncProcessis removed; sync runs throughProxboxSyncJoband the NetBox Jobs / RQ integration, with queue naming aligned to plugin configuration and CI expectations. - Multi-stage
ALLsync — Choosing ALL no longer maps to a singlefull-update/streamcall. The job runs five ordered stages: devices, virtual machines, VM disks, VM backups, and VM snapshots (VIRTUAL_MACHINES_SNAPSHOTS), each via the appropriate create/stream path. Job results expose a structuredstagesarray instead of a single{"full": true}payload. - Enqueue + WebSocket UX — The sync view enqueues work and returns quickly; the home experience uses WebSocket / client polling patterns consistent with NetBox Jobs rather than tying the browser to a long-lived HTTP/SSE stream. Templates and
home.jswere updated accordingly. - Migration hygiene — Post-
v0.0.6b2migrations0009–0015are squashed into a single migration to simplify upgrades and reduce migration noise for fresh installs. - Scheduling & forms — Quick schedule layout fixes (first row field alignment) and checkbox widget rendering so
form-check-inputapplies correctly for Proxbox sync type selection. - CI & quality —
ruff format --checkis part of the gate alongsideruff check,compileall, andpytest. Contract and job tests were rewritten to match multi-stage behavior, vm-snapshots inSyncTypeChoices, and the enqueue view (nosync.py/home.htmlassumptions tied to the old SSE URL attribute).
Upgrade notes
- After pulling
develop(or installing from this tag), run Django migrations as usual. If you previously applied intermediate migrations in the squashed range, follow NetBox/Django guidance for squashed migration history in your environment. - Ensure your Proxbox / FastAPI side remains compatible with the per-type stream endpoints used by the job runner.
- Confirm RQ / NetBox Jobs workers are running and listening on the configured Proxbox sync queue.
Merged work
- PR #302 — Release v0.0.8: multi-stage sync, vm snapshots, CI test alignment (
24132e1). - PR #301 — Dependency update: Pygments (
a7f702d, tip at tag time).
Links
- Compare
v0.0.7…v0.0.8 - Full commit history: GitHub Commits on
developthrougha7f702d(tag target).