Skip to main content

NetBox Services Plugin

A NetBox plugin for service providers who need a service-centric inventory on top of DCIM/IPAM.

NetBox already models devices, prefixes, circuits, and VRFs. What it does not model natively is the commercial / operational service that those objects deliver — the Cogent DIA circuit NW-123456, the customer L3VPN, the IP transit handoff.

This plugin adds a Service object: a unique service ID, a type, a tenant, a lifecycle, and many-to-many links to the NetBox objects that implement it. Tags are still useful for loose labels; a Service is the object you open when someone asks “what does this customer product actually run on?”

What a Service is

Each Service has:

Area Fields
Identity Unique service_id, type (L2VPN, L3VPN, DIA, IP Transit, CDN, Voice), description, status, tenant
Lifecycle Order date, planned activation, installed, contract start/end, requested disconnect, decommissioned
Delivery Devices, interfaces, cables, VLANs, prefixes, VRFs, ASNs, route targets, L2VPNs, tunnels, VMs
Files PDF/other files (ServiceAttachment) plus NetBox image attachments (photos) on the Images tab

Status reuses NetBox circuit statuses so services line up with how circuits are already tracked.

Date checks: contract end cannot precede start; decommissioned cannot precede installed or requested disconnect.

Why not just tags?

Tagging a prefix dia does not tell you which customer product it belongs to, when it was ordered, or which handoff interface delivers it.

With a Service you can, for example, create DIA NW-123456 for a tenant and then:

  • Point at the PE/CE devices and the exact interfaces
  • Attach the WAN prefixes, VRF, and ASN
  • Record order / install / contract dates
  • Store the signed PDF and site photos next to the inventory

The detail page is split for that workflow: technical inventory on the left, lifecycle and attachments on the right.

Features

  • CRUD for business services from Business Services in the nav
  • Relate/unrelate DCIM, IPAM, VPN, and virtualization objects from the service detail view
  • Filter and search by service ID, description, tenant, status, and dates
  • Bulk delete from the list view
  • Changelog, tags, and custom fields (NetBoxModel)
  • REST API under /api/plugins/services/ (list/detail include id and lifecycle fields)
  • File attachments and native image attachments

Usage

  1. Open Business Services in the plugin menu.
  2. Create a service (ID + type at minimum).
  3. On the detail page, use Assign on each technical card to attach inventory.
  4. Fill lifecycle dates when the order, install, or disconnect happens.
  5. Add contracts/PDFs under Attachments; photos go on the Images tab.

Plugin screenshot

Requirements

  • NetBox 4.4+
  • Python 3.10+

Installation

Install the package:

pip install netbox-services

Or clone this repo next to your NetBox plugins and install in editable mode.

Enable it in configuration.py:

PLUGINS = [
    'netbox_services',
]

Apply migrations and restart NetBox:

python manage.py migrate netbox_services

The UI lives at /plugins/services/. The API lives at /api/plugins/services/ (no extra /services/ segment).

License

MIT

Metadata

Release files for netbox-services 0.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netbox-services 0.0.15
File Size Uploaded
netbox_services-0.0.15.tar.gz 13.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for netbox-services 0.0.15
File Interpreter ABI Platform
netbox_services-0.0.15-py3-none-any.whl Python 3 none any Details

Total release size: 30.1 kB

Release files / netbox_services-0.0.15.tar.gz

Download URL netbox_services-0.0.15.tar.gz
Size 13.5 kB
Tags Source
SHA-256 checksum
How to use checksums
5655cf5bee01209e2360fa48134e5ccefd57c49629a1e9f647b0a75a9d31bb5c
BLAKE2b-256 checksum
How to use checksums
5fbce9b90b8332c8c3a407cb443e3a4546e9b6683cef15a01e55e16760fc13c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / netbox_services-0.0.15-py3-none-any.whl

Download URL netbox_services-0.0.15-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
517da2195ecca4c361826f6b8d17d65bb0551725533e0b9c12627d491f952ecc
BLAKE2b-256 checksum
How to use checksums
3cf97f456b41ad1a3efd61436ecf6da5fce6dca6657cd7aaaa9c5b4a529a7bd1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

0.0.16

2 release files

This release

0.0.15 This release

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page