Add netbox_rack_concept plugin: rack blueprint planning
Introduces a NetBox 4.6 plugin for planning rack layouts (RackConcept, ConceptDevice) without creating real dcim.Rack/dcim.Device objects, so blueprints never appear in rack/device lists, utilization reports, or IPAM. Features: - Copy paths: real rack -> concept, concept -> concept (clone), and concept -> one or more real racks (deploy, with name patterning and dry-run support) - Manual concept creation via a dedicated "Rack Concepts" nav menu - Tenant and tenant group assignment on concepts and planned devices - Partial-width device placement (1/1-1/4) with slot-based collision detection, matching netbox_utilities' partial-width feature - Custom drag-and-drop elevation (netbox-reorder-rack operates on real Device querysets, which concepts don't have) with server-side validation of every move - Full REST API, filtering, CSV import, bulk edit, search integration - Optional, config-driven interop with netbox_utilities (partial-width field mapping) and netbox-reorder-rack, degrading gracefully when either plugin is absent Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
[build-system]
|
||||
requires = ["setuptools>=68", "wheel"]
|
||||
build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "netbox-rack-concept"
|
||||
version = "0.1.0"
|
||||
description = "Rack blueprints for NetBox: plan racks and their equipment without creating real racks or devices"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
license = { text = "MIT" }
|
||||
authors = [{ name = "Louis" }]
|
||||
keywords = ["netbox", "netbox-plugin", "dcim", "planning"]
|
||||
classifiers = [
|
||||
"Framework :: Django",
|
||||
"Programming Language :: Python :: 3.12",
|
||||
"Intended Audience :: System Administrators",
|
||||
]
|
||||
|
||||
[project.urls]
|
||||
Homepage = "https://github.com/example/netbox-rack-concept"
|
||||
|
||||
[tool.setuptools.packages.find]
|
||||
include = ["netbox_rack_concept*"]
|
||||
|
||||
[tool.setuptools.package-data]
|
||||
netbox_rack_concept = [
|
||||
"templates/netbox_rack_concept/*.html",
|
||||
"templates/netbox_rack_concept/inc/*.html",
|
||||
"static/netbox_rack_concept/*",
|
||||
]
|
||||
Reference in New Issue
Block a user