NetBox plugin for managing RIR (ARIN, RIPE, etc.) resources
Project description
NetBox RIR Manager
Manage Regional Internet Registry (RIR) resources directly from within NetBox.
Features
- Sync RIR resources -- import organizations, contacts (POCs), networks, and ASNs from your RIR into NetBox
- Auto-link to IPAM -- synced networks are linked to existing NetBox Aggregates, Prefixes, and ASNs
- Write operations -- reassign, reallocate, remove, and delete networks directly through the plugin
- Ticket tracking -- monitor RIR tickets and their status
- Per-user API keys -- encrypted at rest
- Scheduled sync -- daily background jobs keep RIR data current
- Pluggable backend architecture -- ARIN supported today; PRs welcome for RIPE, APNIC, LACNIC, AFRINIC
- Full REST API -- every resource and action exposed under
/api/plugins/rir-manager/ - Sync logging -- full audit trail of every sync operation
Compatibility
| Plugin version | NetBox version | Python |
|---|---|---|
| 0.3.x | 4.5 | 3.12-3.14 |
Installation
pip
pip install netbox-rir-manager
From source
pip install git+https://github.com/jsenecal/netbox-rir-manager.git
Configuration
In your NetBox configuration.py:
PLUGINS = [
"netbox_rir_manager",
]
PLUGINS_CONFIG = {
"netbox_rir_manager": {
"top_level_menu": True,
"sync_interval_hours": 24,
"auto_link_networks": True,
"enabled_backends": ["ARIN"],
"encryption_key": "", # defaults to NetBox SECRET_KEY
"api_retry_count": 3,
"api_retry_backoff": 2,
},
}
Then run migrations:
cd /opt/netbox/netbox
python manage.py migrate
Warning: the
encryption_key(or NetBox'sSECRET_KEYwhen empty) is used to encrypt stored API keys. Changing or losing it makes previously encrypted keys unrecoverable.
See Configuration -> Settings for the full reference.
Documentation
Full documentation: jsenecal.github.io/netbox-rir-manager
Contributing
PRs welcome -- especially for additional RIR backends (RIPE, APNIC, LACNIC, AFRINIC). The plugin uses a pluggable backend architecture; see netbox_rir_manager/backends/base.py for the abstract RIRBackend class.
Use conventional-commits PR titles (feat:, fix:, chore:, docs:, ...) -- release-drafter assembles release notes from them. Run make setup after cloning to install dev dependencies and the pre-commit hooks (including the AI-attribution-rejecting commit-msg hook).
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_rir_manager-0.3.2.tar.gz.
File metadata
- Download URL: netbox_rir_manager-0.3.2.tar.gz
- Upload date:
- Size: 66.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
228f9790b7cd34398ffb34b5d91ad99a0997c4e171315da90f8954101dc7f1de
|
|
| MD5 |
426a74f8ae249572f32532dc76dfb458
|
|
| BLAKE2b-256 |
8ea3bb2aaf5ae6fbd19a41a6efd5bd25ba560bbe8003d018ef2804d8a763ab67
|
Provenance
The following attestation bundles were made for netbox_rir_manager-0.3.2.tar.gz:
Publisher:
publish.yml on jsenecal/netbox-rir-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_rir_manager-0.3.2.tar.gz -
Subject digest:
228f9790b7cd34398ffb34b5d91ad99a0997c4e171315da90f8954101dc7f1de - Sigstore transparency entry: 1397143713
- Sigstore integration time:
-
Permalink:
jsenecal/netbox-rir-manager@8e285f09e0be91af33ee7c01ff6d36d7f3feb154 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/jsenecal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e285f09e0be91af33ee7c01ff6d36d7f3feb154 -
Trigger Event:
release
-
Statement type:
File details
Details for the file netbox_rir_manager-0.3.2-py3-none-any.whl.
File metadata
- Download URL: netbox_rir_manager-0.3.2-py3-none-any.whl
- Upload date:
- Size: 81.2 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 |
a636cda6e6a94f9841576558ce10940ee58fd9dbcc7449cbf13456f3b42760cb
|
|
| MD5 |
0c60451e3948f499571bc6463c3f703b
|
|
| BLAKE2b-256 |
7a51e6440be2c49d57cc6ea04f0712f91e4fc5e4e83b3593c9679eb4538307bd
|
Provenance
The following attestation bundles were made for netbox_rir_manager-0.3.2-py3-none-any.whl:
Publisher:
publish.yml on jsenecal/netbox-rir-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
netbox_rir_manager-0.3.2-py3-none-any.whl -
Subject digest:
a636cda6e6a94f9841576558ce10940ee58fd9dbcc7449cbf13456f3b42760cb - Sigstore transparency entry: 1397143754
- Sigstore integration time:
-
Permalink:
jsenecal/netbox-rir-manager@8e285f09e0be91af33ee7c01ff6d36d7f3feb154 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/jsenecal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e285f09e0be91af33ee7c01ff6d36d7f3feb154 -
Trigger Event:
release
-
Statement type: