NetBox plugin for managing wireless and wired endpoints (badges, phones, IoT devices)
Project description
NetBox Endpoints Plugin
A NetBox plugin for managing wireless and wired endpoints (badges, phones, IoT devices) that don't fit the traditional Device model.
Overview
The Endpoints plugin provides dedicated models for mobile/endpoint devices that don't fit the traditional NetBox Device model:
- Vocera badges - Wireless communication badges
- Cisco IP phones - Desk phones, wireless phones
- IoT devices - Sensors, controllers, etc.
- Tablets/mobile devices - iPads, scanners, etc.
Unlike Devices, Endpoints:
- Don't require rack locations
- Have MAC address as primary identifier
- Support wireless (SSID) and wired (switch port) connections
- Track connection type and status independently
Features
- Endpoint Types - Define endpoint models (like DeviceType but for endpoints)
- Endpoints - Track individual endpoint devices with:
- MAC address (required, unique)
- Name, serial number, asset tag
- Site and location
- Primary IPv4/IPv6 (FK to IPAddress)
- Connection type (wireless/wired)
- SSID (wireless) or connected interface (wired)
- Tenant, contact, platform
- Status (active, offline, staged, decommissioned)
- Full tag and custom field support
- Plugin Integration - Other plugins can add tabs to endpoint detail pages
- REST API - Full API access at
/api/plugins/netbox-endpoints/
Requirements
- NetBox 4.0 or higher
- Python 3.10+
Installation
From PyPI (recommended)
pip install netbox-endpoints
From Source
git clone https://github.com/sieteunoseis/netbox-endpoints.git
cd netbox-endpoints
pip install -e .
Docker Installation
Add to your NetBox Docker requirements file:
# requirements-extra.txt
netbox-endpoints
Configuration
Add the plugin to your NetBox configuration:
# configuration.py or plugins.py
PLUGINS = [
'netbox_endpoints',
]
PLUGINS_CONFIG = {
'netbox_endpoints': {
# No configuration required - endpoints are stored in NetBox
}
}
Usage
Creating Endpoint Types
- Navigate to Plugins > Endpoints > Endpoint Types
- Click Add
- Select manufacturer and enter model name
- Optionally set default platform
Creating Endpoints
- Navigate to Plugins > Endpoints > Endpoints
- Click Add
- Enter MAC address (required)
- Select endpoint type, site, and other details
- Set connection type (wireless/wired)
- For wireless: enter SSID
- For wired: select connected interface
API Access
# List endpoints
curl -X GET "https://netbox.example.com/api/plugins/netbox-endpoints/endpoints/" \
-H "Authorization: Token $TOKEN"
# Create endpoint
curl -X POST "https://netbox.example.com/api/plugins/netbox-endpoints/endpoints/" \
-H "Authorization: Token $TOKEN" \
-H "Content-Type: application/json" \
-d '{"mac_address": "00:11:22:33:44:55", "endpoint_type": 1, "site": 1}'
Plugin Integration
Other plugins (like netbox-catalyst-center) can register tabs on Endpoint detail pages using the standard NetBox @register_model_view decorator.
Development
Setup
git clone https://github.com/sieteunoseis/netbox-endpoints.git
cd netbox-endpoints
pip install -e ".[dev]"
Code Style
black netbox_endpoints/
isort netbox_endpoints/
flake8 netbox_endpoints/
Changelog
See CHANGELOG.md for release history.
Support
If you find this plugin helpful, consider supporting development:
License
Apache License 2.0 - See LICENSE for details.
Author
sieteunoseis
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_endpoints-0.1.2.tar.gz.
File metadata
- Download URL: netbox_endpoints-0.1.2.tar.gz
- Upload date:
- Size: 18.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ab41dc38e92dfbcea1f4ba2f18fa3c76f76446a0f092251acf5855709ea8e82
|
|
| MD5 |
73eafa9ac30a9c64bf8b112c53f71155
|
|
| BLAKE2b-256 |
ebd89a6edcb0316bdc759f9c93fb66fc9b756b0a137087a41c04d5beff01e281
|
Provenance
The following attestation bundles were made for netbox_endpoints-0.1.2.tar.gz:
Publisher:
release.yml on sieteunoseis/netbox-endpoints
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_endpoints-0.1.2.tar.gz -
Subject digest:
8ab41dc38e92dfbcea1f4ba2f18fa3c76f76446a0f092251acf5855709ea8e82 - Sigstore transparency entry: 1000787360
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-endpoints@e0905fe7630212847ef1e31d9d49d5fec9f7695f -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e0905fe7630212847ef1e31d9d49d5fec9f7695f -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_endpoints-0.1.2-py3-none-any.whl.
File metadata
- Download URL: netbox_endpoints-0.1.2-py3-none-any.whl
- Upload date:
- Size: 22.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
16ad3aedb1c0784b3895bd9394613d8fd688277fdd860deb785a2def4c8dae05
|
|
| MD5 |
f86adc2becf6ed48372b93bee848b506
|
|
| BLAKE2b-256 |
adf88273a76bc130f1b248eaf5c2d2b99ef01235c299db37011b9764319ab8a9
|
Provenance
The following attestation bundles were made for netbox_endpoints-0.1.2-py3-none-any.whl:
Publisher:
release.yml on sieteunoseis/netbox-endpoints
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_endpoints-0.1.2-py3-none-any.whl -
Subject digest:
16ad3aedb1c0784b3895bd9394613d8fd688277fdd860deb785a2def4c8dae05 - Sigstore transparency entry: 1000787406
- Sigstore integration time:
-
Permalink:
sieteunoseis/netbox-endpoints@e0905fe7630212847ef1e31d9d49d5fec9f7695f -
Branch / Tag:
refs/tags/v0.1.2 - Owner: https://github.com/sieteunoseis
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@e0905fe7630212847ef1e31d9d49d5fec9f7695f -
Trigger Event:
push
-
Statement type: