RIPE Updater is a Flask-based service that acts as an API bridge between NetBox and the RIPE database. When you create, update, or delete an IP prefix in NetBox, RIPE Updater automatically reflects those changes in your RIPE INETNUM and INET6NUM objects — eliminating manual DB updates and keeping your registration data accurate.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/jalmargyyk/ripe-updater/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Deploy RIPE Updater and process your first webhook in minutes
Docker deployment
Run RIPE Updater as a container with Docker or docker-compose
Environment variables
Configure connections to NetBox, RIPE DB, S3, and email
Templates
Define RIPE object attributes using JSON templates
How it works
RIPE Updater listens for NetBox webhook events on the/update endpoint. When a prefix event arrives, it processes the change through a five-step pipeline:
Validate the webhook
RIPE Updater authenticates the incoming request using the
Authorisation header token, confirms the payload is a NetBox prefix event, and reads the ripe_report custom field to decide whether to create or delete.Fetch data from NetBox
The service queries the NetBox API to retrieve the prefix’s parent aggregate (for the LIR), the site’s parent region (for the country), and any other metadata needed to build a valid RIPE object.
Build the RIPE object from a template
Using the
ripe_template custom field set on the prefix, RIPE Updater merges your JSON base template with the fetched NetBox data to produce a fully-formed INETNUM or INET6NUM attribute set.Create, update, or delete in RIPE DB
The object is submitted to the RIPE REST API (production or TEST database). If overlapping entries exist, they are resolved before the write. Deletions remove the object and save a JSON backup.
Key features
Webhook-driven
Reacts to NetBox prefix create, update, and delete events in real time
Template system
Compose RIPE object attributes from reusable JSON base templates
Overlap handling
Detects overlapping INET(6)NUM entries and safely resolves them
S3 backups
Stores JSON snapshots of every overwritten or deleted RIPE object
IPv4 and IPv6
Handles both INETNUM (IPv4) and INET6NUM (IPv6) object types
TEST database support
Validates your setup against the RIPE TEST database before going live
Requirements
- NetBox 2.4 or later
- Python 3.8 or later, or Docker
- A RIPE maintainer account with write permissions to your INET(6)NUM objects
- An S3-compatible storage endpoint (optional, for backups)