NetBox plugin for running pre-defined commands on network devices
Project description
NetBox Command Toolkit Plugin
⚠️ EARLY DEVELOPMENT WARNING ⚠️
This plugin is in very early development and not recommended for production use. There will be bugs and possible incomplete functionality. Use at your own risk! If you do, give some feedback in Discussions
A NetBox plugin that allows you to run commands on network devices directly from the device page.
📋 Feature Overview
- 🔧 Command Creation: Define platform-specific commands (show/config types)
- 🔐 Command Permissions: Granular access control using NetBox's permission system
- ⚡ Command Execution: Run commands directly from device pages via "Toolkit" tab
- 📄 Raw Output: View complete, unfiltered command responses
- 🔍 Parsed Output: Automatic JSON parsing using textFSM templates
- 📊 Command Logs: Complete execution history with timestamps
- 🐛 Debug Logging: Optional detailed logging for troubleshooting
Built with:
- Scrapli for device connections
- Netmiko as a fallback for problematic devices
- TextFSM for structured data parsing
Created with:
- VSCode
- Copilot
- RooCode
This project is a work in progress and in early development. It is not recommended for production use. Feedback and contributions are welcome!
📚 Essential Guides
🚀 Getting Started
- 📦 Installation - Install the plugin in your NetBox environment
- ⚙️ Configuration - Configure plugin settings and options
📋 Command Management
- 📋 Command Creation - Create platform-specific commands
- 🔐 Permissions Setup - Configure granular access control
- 📝 Permission Examples - Example permission configuration
🔧 Troubleshooting
- 🐛 Debug Logging - Enable detailed logging for debugging
Contributing
🚀 Want to Contribute? Start with the Contributor Guide for a fast overview of the codebase.
Future ideas:
- Enhance API to allow execution of commands and return either parsed or raw data.
- Enable variable use in the command creation and execution, based on device attributes.
Project details
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 netbox_toolkit_plugin-0.1.1.tar.gz.
File metadata
- Download URL: netbox_toolkit_plugin-0.1.1.tar.gz
- Upload date:
- Size: 67.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11b8939f21dfb8893df5109ef10f7fce58a08d92ecfb82057096d42450ff8450
|
|
| MD5 |
ce6b9ea0a33f65cfd59162c8e2b09f2e
|
|
| BLAKE2b-256 |
76905e09027874c2c07f81b6f3091b0ac54ab8a2cccd623f0c43ff4003ae78f4
|
Provenance
The following attestation bundles were made for netbox_toolkit_plugin-0.1.1.tar.gz:
Publisher:
publish-pypi.yaml on bonzo81/netbox-toolkit-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_toolkit_plugin-0.1.1.tar.gz -
Subject digest:
11b8939f21dfb8893df5109ef10f7fce58a08d92ecfb82057096d42450ff8450 - Sigstore transparency entry: 271622467
- Sigstore integration time:
-
Permalink:
bonzo81/netbox-toolkit-plugin@e3d6eb35c7fe2868c8b42e29fe1d53b81ed07a7e -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/bonzo81
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@e3d6eb35c7fe2868c8b42e29fe1d53b81ed07a7e -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_toolkit_plugin-0.1.1-py3-none-any.whl.
File metadata
- Download URL: netbox_toolkit_plugin-0.1.1-py3-none-any.whl
- Upload date:
- Size: 88.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a2414f7a00de6bc662bce5948814e2fadc6288d790b77030f9b65aa13075cf91
|
|
| MD5 |
4e1ec8c73bbc343d045cd42892a5d310
|
|
| BLAKE2b-256 |
a382ac2f050de671d2eb8363de6b85b9e2c1cd48ce51ef50de96e7ef6e0e93ed
|
Provenance
The following attestation bundles were made for netbox_toolkit_plugin-0.1.1-py3-none-any.whl:
Publisher:
publish-pypi.yaml on bonzo81/netbox-toolkit-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_toolkit_plugin-0.1.1-py3-none-any.whl -
Subject digest:
a2414f7a00de6bc662bce5948814e2fadc6288d790b77030f9b65aa13075cf91 - Sigstore transparency entry: 271622477
- Sigstore integration time:
-
Permalink:
bonzo81/netbox-toolkit-plugin@e3d6eb35c7fe2868c8b42e29fe1d53b81ed07a7e -
Branch / Tag:
refs/tags/0.1.2 - Owner: https://github.com/bonzo81
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yaml@e3d6eb35c7fe2868c8b42e29fe1d53b81ed07a7e -
Trigger Event:
push
-
Statement type: