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.2.tar.gz (18.4 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.2-py3-none-any.whl (22.1 kB view details)

Uploaded Python 3

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

Hashes for netbox_endpoints-0.1.2.tar.gz
Algorithm Hash digest
SHA256 8ab41dc38e92dfbcea1f4ba2f18fa3c76f76446a0f092251acf5855709ea8e82
MD5 73eafa9ac30a9c64bf8b112c53f71155
BLAKE2b-256 ebd89a6edcb0316bdc759f9c93fb66fc9b756b0a137087a41c04d5beff01e281

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for netbox_endpoints-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 16ad3aedb1c0784b3895bd9394613d8fd688277fdd860deb785a2def4c8dae05
MD5 f86adc2becf6ed48372b93bee848b506
BLAKE2b-256 adf88273a76bc130f1b248eaf5c2d2b99ef01235c299db37011b9764319ab8a9

See more details on using hashes here.

Provenance

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