NetBox plugin to sync Forward Networks data into NetBox via built-in NQE queries
Project description
Forward NetBox Plugin
forward_netbox is a NetBox plugin that syncs Forward Networks inventory into NetBox through direct Forward API connectivity and NQE while preserving the branch-backed sync, diff, and merge workflow.
Release Compatibility
| Plugin Release | NetBox Version | Status |
|---|---|---|
v0.1.1 |
4.5.x only |
Current unsupported release |
Support Disclaimer
This repository is provided for use at your own risk. It is an unsupported release and is not an officially supported Forward Networks product. There is no warranty, support commitment, or compatibility guarantee beyond the version table above.
Features
- Branch-backed sync, diff, and merge flow through
netbox_branching - Forward
Sources,NQE Maps,Syncs, andIngestions - Built-in shipped NQE maps seeded automatically after migration
- Support for either published Forward
query_idreferences or raw NQEquerytext - Repository-authored built-in queries can share local helper modules and still execute as flattened raw NQE when bundled
- Automatic paging across multi-page Forward NQE result sets during sync execution
- Snapshot-aware execution with
latestProcessedor an explicit Forward snapshot per sync - Ingestion records that preserve the selected snapshot mode, resolved snapshot ID, and Forward snapshot metrics
- Built-in coverage for:
dcim.sitedcim.manufacturerdcim.deviceroledcim.platformdcim.devicetypedcim.devicedcim.virtualchassisdcim.interfacedcim.macaddressdcim.inventoryitemipam.vlanipam.vrfipam.prefixfor IPv4 and IPv6ipam.ipaddress
Quickstart
- Install the plugin into the same Python environment as NetBox:
pip install forward-netbox==0.1.1
If you need an offline or pinned artifact workflow, install the wheel or source archive from GitHub Releases instead:
pip install /path/to/forward_netbox-0.1.1-py3-none-any.whl
- Enable both plugins in the NetBox configuration:
PLUGINS = [
"netbox_branching",
"forward_netbox",
]
- Apply migrations:
python manage.py migrate
- Open NetBox and create a
Forward Source. - Select a Forward network for that source.
- Create a
Forward Sync, choose the snapshot selector, and enable the NetBox models you want to sync. - Run an adhoc ingestion, review the staged branch diff, review the recorded snapshot details and metrics, and merge when the changes look correct.
Test It Yourself
Use this quick validation flow after installation:
- Create a
Forward Sourceusinghttps://fwd.appor your custom Forward URL. - Enter a Forward username and password, then confirm the
Networkfield populates from the live Forward tenant. - Open
NQE Mapsand verify the built-in maps are present. - Create a
Forward Synctied to the source, leavingSnapshotatlatestProcessedfor the first run. - Run the sync from the sync detail page.
- Review the generated
Forward Ingestion,Issues, snapshot details, snapshot metrics, and change diff. - Merge the branch and confirm the synced objects appear in NetBox.
Local Validation
The repository now includes local validation tasks:
invoke forward_netbox.lintinvoke forward_netbox.checkinvoke forward_netbox.testinvoke forward_netbox.docsinvoke forward_netbox.packageinvoke forward_netbox.ci
For a live Forward smoke run outside CI, set these environment variables and run the smoke task locally:
export FORWARD_SMOKE_USERNAME='your-forward-username'
export FORWARD_SMOKE_PASSWORD='your-forward-password'
export FORWARD_SMOKE_NETWORK_ID='your-network-id'
invoke forward_netbox.smoke-sync
Optional smoke-sync variables:
FORWARD_SMOKE_URLdefaults tohttps://fwd.appFORWARD_SMOKE_SNAPSHOT_IDdefaults tolatestProcessedFORWARD_SMOKE_MODELSaccepts a comma-separated subset such asdcim.site,dcim.device,dcim.interfaceinvoke forward_netbox.smoke-sync --validate-onlyruns live snapshot/query validation without executing an ingestioninvoke forward_netbox.smoke-sync --mergewill merge the staged branch after a clean run
Documentation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forward_netbox-0.1.1.tar.gz.
File metadata
- Download URL: forward_netbox-0.1.1.tar.gz
- Upload date:
- Size: 51.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f16e47321b3843c361e025b28b90d2e563394c903866ad4b4860a4f332db0990
|
|
| MD5 |
6c2cf4f3d35a3fe84dae6e5192ae7143
|
|
| BLAKE2b-256 |
cabb37021899b8baadff9a435368462928842c44bcdd2674e230f62144662982
|
File details
Details for the file forward_netbox-0.1.1-py3-none-any.whl.
File metadata
- Download URL: forward_netbox-0.1.1-py3-none-any.whl
- Upload date:
- Size: 76.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07390ad7f8eba8b447b829989aafe44c5c17c55aaab12ba27c7ffbc670a07aa6
|
|
| MD5 |
7e6900db6329f9980d87f094e0da9643
|
|
| BLAKE2b-256 |
cc9b2f4e261a0c7423bf32a5bb5a1ae468e01e546b28773d61e3375e4dae0397
|