Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vapor-ware/netbox-virtual-circuit-plugin
A plugin for NetBox that supports Virtual Circuit management
https://github.com/vapor-ware/netbox-virtual-circuit-plugin
netbox netbox-plugin
Last synced: 20 days ago
JSON representation
A plugin for NetBox that supports Virtual Circuit management
- Host: GitHub
- URL: https://github.com/vapor-ware/netbox-virtual-circuit-plugin
- Owner: vapor-ware
- License: gpl-3.0
- Created: 2020-05-04T00:14:53.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-08T16:24:28.000Z (almost 3 years ago)
- Last Synced: 2024-12-14T23:57:32.612Z (30 days ago)
- Topics: netbox, netbox-plugin
- Language: Python
- Homepage:
- Size: 1.04 MB
- Stars: 57
- Watchers: 13
- Forks: 19
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-netbox - vapor-ware/netbox-virtual-circuit-plugin - Virtual Circuit management (Plugins)
README
# NetBox Virtual Circuit Plugin
A plugin for [NetBox](https://github.com/netbox-community/netbox) that supports
Virtual Circuit management.## Definitions
A Virtual Circuit is a circuit created by routing two or more VLANs together.
Each Virtual Circuit is identified by a name, a numeric ID (0-32767), along with
a context. Each Virtual Circuit must be assigned one of the following operational
statuses:
- Pending Configuration
- Configured
- Pending Deletion
- Configuration ErrorWhen a VLAN is assigned to a Virtual Circuit, it can not exist in another Virtual
Circuit without first being removed.## Installing
Since the plugin is published on
[PyPI](https://pypi.org/project/netbox-virtual-circuit-plugin/), simply issue:
```python
pip install netbox-virtual-circuit-plugin
```
to download and install it.To enable to plugin, add the plugin's name to the `PLUGINS` list in
`configuration.py` like so:
```python
PLUGINS = ['netbox_virtual_circuit_plugin'] # Note that the name here use underscore, not hyphen.
```Don't forget to restart NetBox to load the new plugin.
You might also have to manually run the database migrations for Netbox to create the appropriate tables for virtual circuits.
```bash
python3 manage.py migrate
```For more information about installing plugins, refer to [NetBox's documentation.](https://netbox.readthedocs.io/en/stable/plugins/)
## Compatibility
Below is a table describing the compatibility of various NetBox versions with NetBox Virtual Circuit Plugin versions.
| | Netbox 2.8 | NetBox 2.9 | Netbox 2.10 | Netbox 2.11 | Netbox 3.0 | Netbox 3.1 |
| ----------------- | ---------- | ---------- | ----------- | ----------- | ---------- | ---------- |
| `1.0.x` | ✓ | ✗ | ✗ | x | x | x |
| `1.1.x` to `1.5.x`| ✗ | ✓ | ✗ | x | x | x |
| `1.6.x` | ✗ | ✗ | ✓ | x | x | x |
| `1.7.x` | ✗ | ✗ | x | ✓ | x | x |
| `2.0.0` | ✗ | ✗ | x | ✓ | x | ✓ |## Using
Once the plugin is installed correctly as instructed above, one can find the
**Virtual Circuit** section under **Plugins** navigation tab via NetBox UI
that is ready to use with correct *admin* permission.As for REST API use cases, the 2 group endpoints are exposed at:
- `/api/plugins/virtual-circuit/virtual-circuits`
- `/api/plugins/virtual-circuit/vlans`While the former one is for creating/retrieving/modifying/deleting Virtual
Circuits, the later one is for assigning and managing Virtual-Circuit-to-VLAN
connections. For more information, refer to `/api/docs` as it also conforms
to Swagger Specification for hosted visual documentations.## Developing
Plugins are essentially self-contained Django apps which integrate with NetBox
to provide custom functionality. For more information, see [NetBox
documentation](https://netbox.readthedocs.io/en/stable/plugins/development/).To help setup the development environment, it comes with a CLI helper
based on `Makefile`, including the following commands:
```
changelog Generate a changelog file from GitHub Issue Tracker
clean Clean up build artifacts
deploy Run a local development deployment of the plugin with NetBox
docker Build a local docker image
github-tag Create and push a tag with the current version
help Print usage information
migrate Run makemigrations in Django and produce a migration file locally
release Package and distribute the current release to PyPI
test Run unit tests
version Print the version
```That said, one can simply build and run a local development image of the plugin
with NetBox with a single line:
```
make build && make deploy
```The application will be available after a few minutes at
`http://0.0.0.0:8000/`. The default credentials are:
- Username: **admin**
- Password: **admin**
- API Token: **0123456789abcdef0123456789abcdef01234567**Below are several screenshots of the UI:
![Navigation view](docs/images/1_navigation.png)
![Add a Virtual Circuit](docs/images/2_add.png)
![List all Virtual Circuits](docs/images/3_list.png)
![Assign a VLAN to a Virtual Circuit](docs/images/4_assign_vlan.png)
![Virtual Circuit Single View (2 VLANs assigned)](docs/images/5_assigned_vlans.png)
![List of all connections](docs/images/6_connections.png)
## Contributing
If you experience a bug, would like to ask a question, or request a feature,
open a new issue and provide as much context as possible. All contributions,
questions, and feedback are welcomed and appreciated.## License
NetBox Virtual Circuit Plugin is licensed under GPLv3. See [LICENSE](LICENSE)
for more info.