Skip to main content

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.

NetBox Version Python Version License PyPI

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

  1. Navigate to Plugins > Endpoints > Endpoint Types
  2. Click Add
  3. Select manufacturer and enter model name
  4. Optionally set default platform

Creating Endpoints

  1. Navigate to Plugins > Endpoints > Endpoints
  2. Click Add
  3. Enter MAC address (required)
  4. Select endpoint type, site, and other details
  5. Set connection type (wireless/wired)
  6. For wireless: enter SSID
  7. 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:

Buy Me A Coffee

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

netbox_endpoints-0.1.1.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbox_endpoints-0.1.1-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file netbox_endpoints-0.1.1.tar.gz.

File metadata

  • Download URL: netbox_endpoints-0.1.1.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for netbox_endpoints-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d000a978a9ff8879d80c81d625ed8b895e565526c9c11a38c535f0bd0a77c4da
MD5 8230cefa325600c9714c2e4782ea72d5
BLAKE2b-256 dfee7eb479f5237ef7483ebae0c4a590f015513c6055f4d96bd8188330346e9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.1.1.tar.gz:

Publisher: release.yml on sieteunoseis/netbox-endpoints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbox_endpoints-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_endpoints-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e5769e3cf5ed22d0e1f727c87a74d140c8f9d0cc53dce3ffa7aaf67bf6df7817
MD5 9b4bb25143f6c93c60726c01ed0744f4
BLAKE2b-256 19a0e7dcfd1d0b3d39b6c12c5dc7c2dd1a4d75cf58dcc8fabc32c5fbfe5719cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.1.1-py3-none-any.whl:

Publisher: release.yml on sieteunoseis/netbox-endpoints

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page