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.2.0.tar.gz (20.3 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.2.0-py3-none-any.whl (25.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: netbox_endpoints-0.2.0.tar.gz
  • Upload date:
  • Size: 20.3 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.2.0.tar.gz
Algorithm Hash digest
SHA256 7b90a5e7410c72d0edb5674828729820048765ca72513057d06ee3e1e4fc62e4
MD5 acc86af2e41f449d573cc8634d716e65
BLAKE2b-256 cf5f0dca3ff01a4bdb8b4078e9d5d6778bfd6c0531e840522238c17cb743fd01

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for netbox_endpoints-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8b0ac26e913c636edd58f44db207a337db1c432661aa4ecdbcb4faa33c01819e
MD5 a490774038aa5e1dec578b5fbd3be754
BLAKE2b-256 e8f30489b31fac0f9dfc46b90669aed1bf529ac86cb1b2466ab8dfccbfa691c9

See more details on using hashes here.

Provenance

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