Synchronize OPNsense to netbox.
  • Makefile 50.1%
  • Python 49.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 13:23:39 +02:00
LICENSES from-copier 2026-09-26 13:23:39 +02:00
netbox_sync_opnsense from-copier 2026-09-26 13:23:39 +02:00
.copier-answers.yml from-copier 2026-09-26 13:23:39 +02:00
.editorconfig from-copier 2026-09-26 13:23:39 +02:00
.gitignore from-copier 2026-09-26 13:23:39 +02:00
CHANGELOG.md from-copier 2026-09-26 13:23:39 +02:00
Makefile from-copier 2026-09-26 13:23:39 +02:00
mise.toml from-copier 2026-09-26 13:23:39 +02:00
pyproject.toml from-copier 2026-09-26 13:23:39 +02:00
README.md from-copier 2026-09-26 13:23:39 +02:00
REUSE.toml from-copier 2026-09-26 13:23:39 +02:00
uv.lock from-copier 2026-09-26 13:23:39 +02:00

Netbox sync OPNsense

Netbox plugin to synchronize data from an OPNsense firewall.

➡️ Quick Links: Repository · Issues

🌱 Status

Netbox plugin to synchronize data from an OPNsense firewall. is pretty new and still under development.

📚 Documentation

There's no documentation yet, you'll have to read the source for now. Sorry!

🗃️ Installation

Simply install the netbox-sync-opnsense package from PyPI via your preferred package manager.

For example, to add it as a dependency to your uv-managed project, use this:

uv add netbox-sync-opnsense

🧑‍💻 Development

Preparation

We're using uv to manage this project and its dependencies. After cloning the repository using Git, a simple uv sync should get everything you need.

git clone https://git.h.oluflorenzen.de/finkregh/netbox-sync-opnsense.git netbox-sync-opnsense
cd netbox-sync-opnsense
uv sync

direnv

We recommend using direnv to add installed dependencies to your $PATH, so that you don't need to prepend uv run to every command. For example, after installing direnv, you can use direnv edit in this repository's directory and add the following line:

PATH_add .venv/bin

The rest of this readme assumes that you have .venv/bin in your $PATH.

EditorConfig

Make sure your editor or IDE supports the EditorConfig standard, so that your code adheres to the project's preferred indentation, line lengths, etc.

Makefile

There is a Makefile that contains frequently used commands to speed up development, but it's optional to use. The following targets exist:

  • fmt: Use Ruff to format and lint the code.
  • qa: Use mypy for static type analysis.
  • reuse: Use reuse lint to make sure every file contains licensing information.
  • test: Use pytest for automated testing and code coverage.
  • noqa: Add noqa statements to ignore everything Ruff complains about. Only use this after fixing everything that needs fixing.

make all, or simply make, will run fmt, qa, reuse, and test. You should do this before every commit and fix all issues that are reported.

📃 License

This project is licensed under the terms of the MIT License.

The project also conforms to the REUSE Specification, version 3.3. You can use the reuse tool to interpret the machine-readable licensing information.