Skip to main content

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.

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.

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:
1

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.
2

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.
3

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.
4

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.
5

Send an email report and save a backup

If email reporting is enabled, RIPE Updater sends a summary of the operation. Any overwritten or deleted RIPE object is stored as a JSON snapshot in your configured S3 bucket and browsable at /backups.

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)

Build docs developers (and LLMs) love