Contributing¶
PRs welcome -- especially for additional RIR backends (RIPE, APNIC, LACNIC, AFRINIC).
Conventions¶
- PR titles follow conventional commits (
feat:,fix:,chore:,docs:,refactor:,test:,ci:,perf:,build:,revert:). Thepr-titleworkflow enforces this. - Release notes are drafted automatically from PR titles by
release-drafter. TheCHANGELOG.mdfile follows Keep a Changelog. - Commit messages must not contain AI/Claude attribution lines -- a
commit-msghook rejects them.
Architecture¶
The plugin uses a pluggable backend architecture:
netbox_rir_manager/backends/base.py-- abstractRIRBackendclass.netbox_rir_manager/backends/arin.py-- ARIN reference implementation.
To add a new backend, subclass RIRBackend, implement the required methods, and register it in enabled_backends.
Releasing¶
This updates pyproject.toml, netbox_rir_manager/__init__.py, and the CHANGELOG.md "Unreleased" section, commits, tags, and pushes. The publish.yml workflow takes it from there once a GitHub Release is published from the tag.