NetBox plugin for daily-operations visibility of Cisco ACI fabrics.
Project description
netbox-cisco-aci
A NetBox plugin for operational visibility and documentation of Cisco ACI fabrics.
Models every ACI construct needed for daily operations — Fabrics, Pods,
Nodes (linked to existing dcim.Device records), Tenants, VRFs, Bridge
Domains and subnets, Application Profiles, EPGs / ESGs (including uSeg),
Contracts / Subjects / Filters, AAEPs, Domains, VLAN Pools, Switch and
Interface profiles, L3Outs (with BGP / OSPF / EIGRP peers and External
EPGs), and per-interface EPG/BD/Subnet bindings so you can see the
ACI policy applied to any device or port at a glance.
Compatibility
See the compatibility matrix for supported NetBox versions.
The plugin is designed to run unmodified on NetBox Enterprise and
NetBox Cloud (both Kubernetes-based, multi-pod, immutable
filesystems) as well as classic single-VM installs. The contract is
documented in docs/cloud-compatibility.md
and enforced by the cloud-compat CI job.
Features
- Fabric topology — Fabric → Pod → Node, with each Node optionally
linked to a
dcim.Deviceso existing inventory remains the source of truth for hardware. - Tenancy model — Tenant → VRF, Bridge Domain (+ Subnets), Application Profile → EPG / ESG, including uSeg attributes.
- Access policies — VLAN Pools, Physical / L3 / VMM Domains, AAEPs with EPG mappings, Switch Profiles, Interface Profiles, Interface Policy Groups, and per-policy refs (CDP / LLDP / LACP / MCP / STP / Link Level).
- Contracts — Contracts, Subjects, Filters with entries, and
Provider / Consumer relations (including
common-tenant imports and inter-VRF / shared-services patterns). - L3Outs — Logical Node Profiles, Logical Interface Profiles (routed / SVI / sub-interface), BGP / OSPF / EIGRP peers, External EPGs with subnets and contract bindings.
- Device & interface visibility — every static port binding links
an EPG to a
dcim.Interface. The plugin injects panels on both the Device and Interface detail views showing the EPGs, BDs, Subnets, and VRFs that touch that hardware. - Full NetBox surface — REST API, GraphQL, search, navigation, change-logging, journal, custom fields, tags, and per-object RBAC.
Installation
source /opt/netbox/venv/bin/activate
pip install netbox-cisco-aci
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py:
PLUGINS = ['netbox_cisco_aci']
Run migrations and restart NetBox:
python /opt/netbox/netbox/manage.py migrate
sudo systemctl restart netbox netbox-rq
Add netbox-cisco-aci to local_requirements.txt.
Configuration
The plugin works with sensible defaults. Optional settings live under
PLUGINS_CONFIG['netbox_cisco_aci'] — see the configuration docs.
Development
See AGENTS.md for repository conventions and docs/development.md for the dev-loop quickstart.
Licensing
Apache License 2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file netbox_cisco_aci-0.1.3.tar.gz.
File metadata
- Download URL: netbox_cisco_aci-0.1.3.tar.gz
- Upload date:
- Size: 118.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7303e71d9342bdf7b6024da7826641d07a920de87fda45f4b2c1d9625ca1f910
|
|
| MD5 |
a2e2ab46dad2af0e35c6417c94c3b9eb
|
|
| BLAKE2b-256 |
0e2ef3fa575dbe383702ecd1bbfd4783e01ad42c4b38c3b136cfa32a4c426291
|
Provenance
The following attestation bundles were made for netbox_cisco_aci-0.1.3.tar.gz:
Publisher:
release.yml on droolingtaz/netbox-cisco-aci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_cisco_aci-0.1.3.tar.gz -
Subject digest:
7303e71d9342bdf7b6024da7826641d07a920de87fda45f4b2c1d9625ca1f910 - Sigstore transparency entry: 1644548304
- Sigstore integration time:
-
Permalink:
droolingtaz/netbox-cisco-aci@0208b802e433dbe6fbafe782d1bc65c03ddc89b0 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/droolingtaz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0208b802e433dbe6fbafe782d1bc65c03ddc89b0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_cisco_aci-0.1.3-py3-none-any.whl.
File metadata
- Download URL: netbox_cisco_aci-0.1.3-py3-none-any.whl
- Upload date:
- Size: 205.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
67088eb673a8089eb14ab6de60c228ca34fcd2d730c6aa18a86f16c599c2eb3a
|
|
| MD5 |
760045b3c9847395cb9b0b86162ee46d
|
|
| BLAKE2b-256 |
dbdbcba9ad579295f2ab4bd8f9abe656ce6905a9aec7f94d17552b6edf1d650f
|
Provenance
The following attestation bundles were made for netbox_cisco_aci-0.1.3-py3-none-any.whl:
Publisher:
release.yml on droolingtaz/netbox-cisco-aci
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_cisco_aci-0.1.3-py3-none-any.whl -
Subject digest:
67088eb673a8089eb14ab6de60c228ca34fcd2d730c6aa18a86f16c599c2eb3a - Sigstore transparency entry: 1644548394
- Sigstore integration time:
-
Permalink:
droolingtaz/netbox-cisco-aci@0208b802e433dbe6fbafe782d1bc65c03ddc89b0 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/droolingtaz
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@0208b802e433dbe6fbafe782d1bc65c03ddc89b0 -
Trigger Event:
push
-
Statement type: