netbox-pdm¶
NetBox plugin that reflects Proxmox Datacenter Manager (PDM) remotes (PVE clusters and PBS instances federated by PDM) into NetBox.
netbox-pdm is a companion plugin to
netbox-proxbox.
It provides views, sync jobs, forms, tables, and filtersets over the
PDMEndpoint and PDMRemote models that are defined in netbox-proxbox.
It does not require a running proxbox-api instance — sync connects
directly to the PDM API using
proxmox-sdk.
How it works¶
NetBox (PDMSyncJob — background RQ job)
│ SyncPDMClient (proxmox-sdk)
▼
Proxmox Datacenter Manager API → /remotes endpoint
│
▼
PDMRemote rows created/updated/deleted in NetBox
The PDMSyncJob builds a SyncPDMClient from the PDMEndpoint credentials
(token format user@realm!tokenname:secret), calls the PDM remotes list,
and reconciles PDMRemote rows in NetBox. Rows reported by PDM are created
or updated, and rows no longer reported by PDM are deleted as stale inventory.
No proxbox-api process is required for sync.
Scope¶
v0.0.2 delivers:
- Read-only PDMEndpoint and PDMRemote inventory views: list, detail, edit, delete, and changelog.
- PDMSyncJob background RQ job with per-endpoint dispatch.
- Sync trigger hardening: users must have endpoint visibility plus
core.add_jobto enqueue a mutating sync job. - Credential form hardening: token secrets are not echoed into edit-page HTML; blank token-secret submissions preserve the stored value.
- Optional netbox-branching integration: sync runs inside a branch and merges on success.
- Packaging, docs, CI pipelines, and certification evidence.
Compatibility¶
| NetBox | netbox-pdm | netbox-proxbox | Python |
|---|---|---|---|
| v4.5.8 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.5.9 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.6.0 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.6.1 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.6.2 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.6.3 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |
| v4.6.4 | v0.0.2 | >=0.0.18,<0.1.0 | 3.12+ |