netbox-proxbox v0.0.13
Compatible with proxbox-api v0.0.8.post1 and NetBox ≥ 4.6.0.
Highlights
Controlled fields settings for Device/VM sync (closes #335, #337)
Five new ProxboxPluginSettings boolean fields let operators opt out of overwriting specific NetBox fields during sync when those fields carry manually-assigned values:
| Setting | Default | Effect when False
|
|---|---|---|
overwrite_device_role
| True
| Device role is never overwritten after initial creation |
overwrite_device_type
| True
| Device type is never overwritten after initial creation |
overwrite_device_tags
| True
| Existing device tags are not replaced by the Proxbox tag set |
overwrite_vm_role
| True
| VM role is never overwritten after initial creation |
overwrite_vm_tags
| True
| Existing VM tags are merged with Proxbox tags instead of replaced |
All defaults are True so existing sync behaviour is unchanged. When set to False, the corresponding field is excluded from the patch payload before any NetBox write, meaning user-assigned values are preserved on every subsequent sync. Fields are still populated at object creation time.
Settings are forwarded to proxbox-api as query parameters and take effect immediately without a plugin restart.
Migration: 0033 adds the five columns via ADD COLUMN IF NOT EXISTS — safe to re-run on partially-upgraded installs.
Security fixes
encryption_keyno longer returned in API responses — markedwrite_onlyinProxboxPluginSettingsSerializer, consistent with the pattern already applied toProxmoxEndpointcredentials.GET /api/plugins/proxbox/settings/no longer leaks the key.- URL-encoded VM name and node in Proxmox console links —
#and&characters in VM names or node names could previously truncate or inject extra parameters into the rendered consolehref. Both values are now percent-encoded before interpolation.
Bug fixes
- Fix
overwrite_*settings view: the five new fields were present in the model, form, and migration but were never read back into the form onGETor written to the database onPOST, making the Issue #335 UI completely non-functional. All five fields are now included in theinitialdict andupdate_fieldslist.
Dependencies
- Bump
pydantic2.12.5 → 2.13.3 and regenerate lock (no source changes needed — codebase already uses v2-only APIs). - Pin
fastapi==0.136.1in thee2eoptional extra to match the exact version running insideproxbox-api.
Compatibility
| NetBox | netbox-proxbox | proxbox-api | netbox-sdk | proxmox-sdk |
|---|---|---|---|---|
| ≥4.6.0 | v0.0.13 | v0.0.8.post1 | v0.0.7.post6 | v0.0.3.post1 |
| ≥4.6.0 | v0.0.12 | v0.0.8.post1 | v0.0.7.post6 | v0.0.3.post1 |
| ≥4.5.7 | v0.0.11 | v0.0.7 | v0.0.7.post4 | v0.0.2.post2 |
Installation
pip install netbox-proxbox==0.0.13
See the installation docs for full setup instructions.