NetBox plugin for Cisco ACI
Project description
NetBox ACI Plugin
The NetBox plugin for Cisco ACI allows NetBox to document ACI‑specific objects like Tenants (TN), Application Profiles (AP), Endpoint Groups (EPG), Endpoint Security Groups (ESG), Bridge Domains (BD), and VRFs (Contexts).
Status: Alpha – Interfaces and data models may change.
Documentation: https://pheus.github.io/netbox-aci-plugin/
Table of Contents
- Features
- Compatibility
- Installation
- Quickstart
- Configuration
- Status
- Release notes
- Licensing
- Credits
- Contributing
- Security
Features
- Represent core ACI constructs in NetBox:
- Fabrics
- Fabrics
- Pods
- Nodes
- Tenants
- Tenants
- Application Profiles
- Endpoint Groups (including uSeg EPGs)
- Endpoint Security Groups
- Bridge Domains
- VRFs (Contexts)
- Contracts, Contract Subjects, and Contract Filters
- Fabrics
- Consistent UI patterns with NetBox core (tables, filtersets, detail views)
- Ready for automation via NetBox’s REST API
- Designed to coexist with your existing NetBox data model
Compatibility
The following table details the tested plugin versions for each NetBox version:
| NetBox Version | Plugin Version |
|---|---|
| 4.6 | 0.2.2 |
| 4.5 | 0.2.2 |
| 4.4 | 0.1.0 |
| 4.3 | 0.1.0 |
Installation
Via PyPI
Activate your NetBox virtual environment and install:
source /opt/netbox/venv/bin/activate
pip install netbox-aci-plugin
Important: When using NetBox’s upgrade.sh, the virtual environment
is deleted and recreated.
To ensure that the ACI plugin is reinstalled during an upgrade,
add it to your local_requirements.txt (for local installations) or
plugin_requirements.txt (for container-based installations).
netbox-aci-plugin
Docker
If you deploy NetBox with Docker and use plugin_requirements.txt, add:
netbox-aci-plugin
Rebuild/restart your NetBox container(s) so the plugin is installed and discovered. For more on Docker usage, see the netbox-docker plugin documentation.
Quickstart
- Install the plugin (see Installation).
- Start NetBox and verify Plugins → NetBox ACI appears in the UI.
- Create a Fabric to host Tenant policies.
- Add a Tenant, then an Application Profile and EPGs.
- Configure Contracts, Subjects, and Filters; associate them with EPGs.
- Define Bridge Domains and VRFs to complete the model.
Tip: Use NetBox’s API to populate objects at scale once your model is set.
Configuration
Enable the plugin by editing the NetBox configuration file.
For local installations, update /opt/netbox/netbox/netbox/configuration.py;
for Docker setups, modify /configuration/plugins.py:
PLUGINS = [
"netbox_aci_plugin",
]
PLUGINS_CONFIG = {
"netbox_aci_plugin": {
# Create default ACI Fabric "Fabric1" during migration
"create_default_aci_fabric": True,
# Create default ACI Tenants "common", "infra", "mgmt" during migration
"create_default_aci_tenants": True,
# Create default ACI Filters "arp", "icmp", "ip" during migration
"create_default_aci_contract_filters": True,
},
}
Apply database migrations and restart NetBox:
source /opt/netbox/venv/bin/activate
cd /opt/netbox
python3 netbox/manage.py migrate
# restart your NetBox services (e.g., systemd or container restart)
Status
This project is in alpha. While core functionality is usable, bugs and missing features may remain. Use in testing or non‑critical environments; exercise caution in production.
Release notes
See the changelog.
Licensing
GNU General Public License v3.0 or later.
See LICENSE for the full text.
Credits
- Built for the NetBox ecosystem – thanks to the NetBox community.
- Not affiliated with or endorsed by Cisco Systems, Inc.
- Based on the NetBox plugin tutorial:
This package was created with Cookiecutter and the
netbox-community/cookiecutter-netbox-plugin template.
Contributing
We follow an issue‑first workflow:
- Open an issue (bug or feature request).
- A maintainer triages and accepts it; a contributor is assigned.
- Open a PR that links the accepted, assigned issue.
See CONTRIBUTING.md and our PR/issue templates for details.
Security
Please do not file public issues for vulnerabilities. See SECURITY.md.
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
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_aci_plugin-0.2.2.tar.gz.
File metadata
- Download URL: netbox_aci_plugin-0.2.2.tar.gz
- Upload date:
- Size: 171.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2873497abfaaeff72612d61cac85f6b75917ce0fb3cf68c32b36662be8591e02
|
|
| MD5 |
402e27e0602e051cde71aecfc2560fee
|
|
| BLAKE2b-256 |
61511f41a22044ae6f18b2f017b12b89f5136c6ab77abc5d36075255a8347c9f
|
Provenance
The following attestation bundles were made for netbox_aci_plugin-0.2.2.tar.gz:
Publisher:
publish.yaml on pheus/netbox-aci-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_aci_plugin-0.2.2.tar.gz -
Subject digest:
2873497abfaaeff72612d61cac85f6b75917ce0fb3cf68c32b36662be8591e02 - Sigstore transparency entry: 1442151722
- Sigstore integration time:
-
Permalink:
pheus/netbox-aci-plugin@967b99a7cd25a721d01d3f13ad8225c34d7d7a56 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/pheus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@967b99a7cd25a721d01d3f13ad8225c34d7d7a56 -
Trigger Event:
push
-
Statement type:
File details
Details for the file netbox_aci_plugin-0.2.2-py3-none-any.whl.
File metadata
- Download URL: netbox_aci_plugin-0.2.2-py3-none-any.whl
- Upload date:
- Size: 299.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8c45512e6507247179afefb892e2aca2a90247eb32ca2f782f43da6223e9861
|
|
| MD5 |
57c66f0461108c88ae410dbe314edfd7
|
|
| BLAKE2b-256 |
1cf21ac44823f1a19a1d2223a3caffeb7bd88d95ba5173f03cb20bb80a29f80f
|
Provenance
The following attestation bundles were made for netbox_aci_plugin-0.2.2-py3-none-any.whl:
Publisher:
publish.yaml on pheus/netbox-aci-plugin
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_aci_plugin-0.2.2-py3-none-any.whl -
Subject digest:
f8c45512e6507247179afefb892e2aca2a90247eb32ca2f782f43da6223e9861 - Sigstore transparency entry: 1442151817
- Sigstore integration time:
-
Permalink:
pheus/netbox-aci-plugin@967b99a7cd25a721d01d3f13ad8225c34d7d7a56 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/pheus
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yaml@967b99a7cd25a721d01d3f13ad8225c34d7d7a56 -
Trigger Event:
push
-
Statement type: