NetBox plugin to group IPAM objects (IP Addresses, Prefixes, IP Ranges) and assign them to Applications with ownership-scoped editing.
Project description
NetBox IPAM Grouping and Applications
A NetBox plugin that lets you group IPAM objects (IP Addresses, Prefixes, IP Ranges) into named Groups and assign them to Applications, with ownership-scoped editing based on NetBox's native Ownership model (introduced in NetBox 4.5).
Features
- Applications — standalone entities with a name, slug, and owner. Used to represent systems or services that own IPAM resources.
- Groups — named collections of IP Addresses, Prefixes, and IP Ranges, linked to an Application and an Owner.
- Ownership scoping — non-admin users can only see and edit Groups and Applications belonging to Owners they are members of.
- IPAM object scoping — when editing a Group, the IP Address / Prefix / IP Range pickers are filtered to objects the user owns (via the
ipam_applicationcustom field). - Native NetBox Ownership — uses
users.Owner(NetBox 4.5+) rather than raw Django users/groups.
Requirements
- NetBox >= 4.5.0
- Python >= 3.10
Installation
pip install netbox-ipam-grouping
Add the plugin to your NetBox configuration.py:
PLUGINS = [
"netbox_ipam_grouping",
]
Run migrations:
python netbox/manage.py migrate netbox_ipam_grouping
Custom Field Setup
This plugin expects a custom field named ipam_application of type Object pointing to netbox_ipam_grouping | application, assigned to:
ipam | ip addressipam | prefixipam | ip range
Create this in NetBox under Customization → Custom Fields before using the IPAM object pickers in Groups.
Navigation
The plugin registers a Firewall Management top-level menu with two sections:
- Applications — list, add, view, edit, delete Applications
- Groups — list, add, view, edit, delete Groups
Note: NetBox's plugin API does not currently expose a public mechanism to inject items into the built-in IPAM navigation menu. The plugin therefore registers its own top-level menu entry.
Permissions
Grant the following NetBox object permissions to non-admin users/groups as needed:
| Model | Permissions |
|---|---|
netbox_ipam_grouping | application |
view, add, change, delete |
netbox_ipam_grouping | group |
view, add, change, delete |
Development
git clone https://github.com/your-org/netbox-ipam-grouping
cd netbox-ipam-grouping
pip install -e ".[dev]"
Publishing to PyPI
pip install build twine
python -m build
twine upload dist/*
License
Apache 2.0 — see LICENSE.
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_ipam_grouping-1.0.2.tar.gz.
File metadata
- Download URL: netbox_ipam_grouping-1.0.2.tar.gz
- Upload date:
- Size: 18.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18dd62d6941bcc66aee24d51e2baae9c72cd5ece27126d28330d28930ee91487
|
|
| MD5 |
c768285ae9161e3ffc40e60942f35607
|
|
| BLAKE2b-256 |
2ed3fb18e948f9a0c77aec2ca54bfbdb5c81dd140a5649d09d18fa7e4045ab28
|
Provenance
The following attestation bundles were made for netbox_ipam_grouping-1.0.2.tar.gz:
Publisher:
python-publish.yml on bogdan-iot/netbox-ipam-grouping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_ipam_grouping-1.0.2.tar.gz -
Subject digest:
18dd62d6941bcc66aee24d51e2baae9c72cd5ece27126d28330d28930ee91487 - Sigstore transparency entry: 1518904409
- Sigstore integration time:
-
Permalink:
bogdan-iot/netbox-ipam-grouping@2da5dfc9987fd143fa4d39e059fa160854eff8a8 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/bogdan-iot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2da5dfc9987fd143fa4d39e059fa160854eff8a8 -
Trigger Event:
release
-
Statement type:
File details
Details for the file netbox_ipam_grouping-1.0.2-py3-none-any.whl.
File metadata
- Download URL: netbox_ipam_grouping-1.0.2-py3-none-any.whl
- Upload date:
- Size: 25.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 |
8d46e002166d3a54e82789308ae256358763cc3c554a0892c51c61029cdcd1d2
|
|
| MD5 |
91fc1aa749440fa603645364feb013ca
|
|
| BLAKE2b-256 |
2cde65182bd6dba03ae00c38b0b9bc6a39f793c3c1fe6a5ee034f7778a134c9f
|
Provenance
The following attestation bundles were made for netbox_ipam_grouping-1.0.2-py3-none-any.whl:
Publisher:
python-publish.yml on bogdan-iot/netbox-ipam-grouping
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_ipam_grouping-1.0.2-py3-none-any.whl -
Subject digest:
8d46e002166d3a54e82789308ae256358763cc3c554a0892c51c61029cdcd1d2 - Sigstore transparency entry: 1518904436
- Sigstore integration time:
-
Permalink:
bogdan-iot/netbox-ipam-grouping@2da5dfc9987fd143fa4d39e059fa160854eff8a8 -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/bogdan-iot
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2da5dfc9987fd143fa4d39e059fa160854eff8a8 -
Trigger Event:
release
-
Statement type: