Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/netboxlabs/diode-netbox-plugin
Official NetBox Labs plugin for NetBox for Diode
https://github.com/netboxlabs/diode-netbox-plugin
ingestion netbox netbox-plugin
Last synced: 6 days ago
JSON representation
Official NetBox Labs plugin for NetBox for Diode
- Host: GitHub
- URL: https://github.com/netboxlabs/diode-netbox-plugin
- Owner: netboxlabs
- License: other
- Created: 2024-06-24T17:33:30.000Z (7 months ago)
- Default Branch: develop
- Last Pushed: 2025-01-21T21:57:10.000Z (10 days ago)
- Last Synced: 2025-01-21T22:34:05.483Z (10 days ago)
- Topics: ingestion, netbox, netbox-plugin
- Language: Python
- Homepage: https://netboxlabs.com
- Size: 191 KB
- Stars: 26
- Watchers: 2
- Forks: 4
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Diode NetBox Plugin
The Diode NetBox plugin is a [NetBox](https://netboxlabs.com/oss/netbox/) plugin. It is a required component of
the [Diode](https://github.com/netboxlabs/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/](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 |## Installation
Source the NetBox Python virtual environment:
```shell
cd /opt/netbox
source venv/bin/activate
```Install the plugin:
```bash
pip install netboxlabs-diode-netbox-plugin
```In your NetBox `configuration.py` file, add `netbox_diode_plugin` to the `PLUGINS` list.
```python
PLUGINS = [
"netbox_diode_plugin",
]
```Also in your `configuration.py` file, in order to customise the plugin settings, add `netbox_diode_plugin`to the
`PLUGINS_CONFIG` dictionary, e.g.:```python
PLUGINS_CONFIG = {
"netbox_diode_plugin": {
# Auto-provision users for Diode plugin
"auto_provision_users": False,# Diode gRPC target for communication with Diode server
"diode_target_override": "grpc://localhost:8080/diode",# User allowed for Diode to NetBox communication
"diode_to_netbox_username": "diode-to-netbox",# User allowed for NetBox to Diode communication
"netbox_to_diode_username": "netbox-to-diode",# User allowed for data ingestion
"diode_username": "diode-ingestion",
},
}
```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.`auto_provision_users` is a boolean flag (default: `False`) that determines whether the plugin should automatically
create the users during
migration. If set to `False`, you will need to provision Diode users with their API keys manually via the plugin's setup
page in the NetBox UI.Restart NetBox services to load the plugin:
```
sudo systemctl restart netbox netbox-rq
```See [NetBox Documentation](https://netboxlabs.com/docs/netbox/en/stable/plugins/#installing-plugins) for details.
## Configuration
Source the NetBox Python virtual environment (if not already):
```shell
cd /opt/netbox
source venv/bin/activate
```Three API keys will be needed (these are random 40 character long alphanumeric strings). They can be generated and set
to the appropriate environment variables with the following commands:```shell
# API key for the Diode service to interact with NetBox
export DIODE_TO_NETBOX_API_KEY=$(head -c20