NetBox Labs, Diode NetBox plugin
Project description
Diode NetBox Plugin
The Diode NetBox plugin is a NetBox plugin. It is a required component of the Diode ingestion service.
Diode is a NetBox ingestion service that greatly simplifies and enhances the process to add and update network data in NetBox, ensuring your network source of truth is always accurate and can be trusted to power your network automation pipelines.
More information about Diode can be found at https://netboxlabs.com/blog/introducing-diode-streamlining-data-ingestion-in-netbox/.
Compatibility
| NetBox Version | Plugin Version |
|---|---|
| >= 3.7.2 | 0.1.0 |
| >= 4.1.0 | 0.4.0 |
| >= 4.2.3 | 1.0.0 |
| >= 4.2.3 | 1.1.0 |
| >= 4.2.3 | 1.2.0 |
| >= 4.4.0 | 1.4.0 |
| >= 4.4.0 | 1.4.1 |
Installation
Source the NetBox Python virtual environment:
cd /opt/netbox
source venv/bin/activate
Install the plugin:
pip install netboxlabs-diode-netbox-plugin
In your NetBox configuration.py file, add netbox_diode_plugin to the PLUGINS list.
PLUGINS = [
"netbox_diode_plugin",
]
Also in your configuration.py file, in order to customise the plugin settings, add netbox_diode_pluginto the
PLUGINS_CONFIG dictionary, e.g.:
PLUGINS_CONFIG = {
"netbox_diode_plugin": {
# Diode gRPC target for communication with Diode server
"diode_target_override": "grpc://localhost:8080/diode",
# Username associated with changes applied via plugin
"diode_username": "diode",
# netbox-to-diode client_secret created during diode bootstrap.
"netbox_to_diode_client_secret": "..."
},
}
If you are running diode locally via the quickstart, the netbox-to-diode client_secret may be found in /path/to/diode/oauth2/client/client-credentials.json. eg:
echo $(jq -r '.[] | select(.client_id == "netbox-to-diode") | .client_secret' /path/to/diode/oauth2/client/client-credentials.json)
Note: Once you customise usernames with PLUGINS_CONFIG during first installation, you should not change or remove them later on. Doing so will cause the plugin to stop working properly.
Restart NetBox services to load the plugin:
sudo systemctl restart netbox netbox-rq
See NetBox Documentation for details.
Configuration
Source the NetBox Python virtual environment (if not already):
cd /opt/netbox
source venv/bin/activate
Run migrations to create all necessary resources:
cd /opt/netbox/netbox
./manage.py migrate netbox_diode_plugin
Running Tests
make docker-compose-netbox-plugin-test
Generating Documentation
Generates documentation on how diode entities are matched. The generated documentation is output to here.
make docker-compose-generate-matching-docs
License
Distributed under the NetBox Limited Use License 1.0. See LICENSE.md for more information.
Required Notice
Copyright NetBox Labs, Inc.
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
File details
Details for the file netboxlabs_diode_netbox_plugin-1.5.0.tar.gz.
File metadata
- Download URL: netboxlabs_diode_netbox_plugin-1.5.0.tar.gz
- Upload date:
- Size: 56.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ac006583c8551f6d8869845a45254af0e84002577f43b35654c235cae4dca92
|
|
| MD5 |
804c62f0fd06f0c8dc85e063c655f668
|
|
| BLAKE2b-256 |
dba4b009772b1e436f20661bf99aab035f5638e783cf868806094aa691854208
|
Provenance
The following attestation bundles were made for netboxlabs_diode_netbox_plugin-1.5.0.tar.gz:
Publisher:
release.yaml on netboxlabs/diode-netbox-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netboxlabs_diode_netbox_plugin-1.5.0.tar.gz -
Subject digest:
2ac006583c8551f6d8869845a45254af0e84002577f43b35654c235cae4dca92 - Sigstore transparency entry: 654329158
- Sigstore integration time:
-
Permalink:
netboxlabs/diode-netbox-plugin@685229888f34cae5b0d729d8cb69170039b336ea -
Branch / Tag:
refs/heads/release - Owner: https://github.com/netboxlabs
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@685229888f34cae5b0d729d8cb69170039b336ea -
Trigger Event:
push
-
Statement type: