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.0.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.0-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netbox_endpoints-0.1.0.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.0.tar.gz
Algorithm Hash digest
SHA256 e034ea68aa510f6402fc7441115358fa8d5e1716d0df84984d45788b7cc172bc
MD5 6a8b00302806fa4a585d6b195eb1b72f
BLAKE2b-256 6ac599a937ea6c5022e41f95ffbe53c04ca89d1f36f7a1ee1032e442ba8f608e

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.1.0.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.0-py3-none-any.whl.

File metadata

File hashes

Hashes for netbox_endpoints-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37656d8acc15c65e474c5e4a93a3fe4bd976e251b61d17dc7ef834563569b89a
MD5 9d07fd594149fbdea58432f38a2a6832
BLAKE2b-256 fa6cacc9cebbe1825c76f71b2458b331910b4cc60a6f69f9cdc64afab8cefc97

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbox_endpoints-0.1.0-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