RIPE Updater receives prefix change events from NetBox via webhooks and reads additional metadata — the LIR affiliation, the RIPE template to use, and whether a prefix should be reported to the RIPE database at all — from three custom fields you must add to NetBox before the integration will work. You also need to ensure your site hierarchy follows the expected region pattern so that country codes can be derived automatically.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.
Custom fields
Add the following three custom fields in NetBox under Customization → Custom Fields.lir — Local Internet Registry
This field identifies which LIR owns the aggregate block that a prefix belongs to. The application looks up the LIR value from the parent aggregate and maps it to a RIPE organisation handle via lir_org.json.
| Setting | Value |
|---|---|
| Name | lir |
| Label | LIR |
| Assigned models | ipam → aggregates |
| Type | Selection |
| Required | Yes |
| Choices | All LIR identifiers you are responsible for (e.g. de.examplelir1) |
| Description | RIPE Local Internet Registry |
ripe_report — report flag
This boolean field controls whether a prefix should be synchronised with the RIPE database. Only prefixes with this field set to true (and a valid ripe_template) are processed when a webhook arrives.
| Setting | Value |
|---|---|
| Name | ripe_report |
| Label | RIPE Report |
| Assigned models | ipam → prefixes |
| Type | Boolean |
| Required | No |
| Default | false |
| Description | Should this prefix be in RIPE-DB |
ripe_template — template selection
This selection field determines which named template from templates.json is applied to the prefix when generating the RIPE object.
| Setting | Value |
|---|---|
| Name | ripe_template |
| Label | RIPE Template |
| Assigned models | ipam → prefixes |
| Type | Selection |
| Required | No |
| Choices | All template names you have defined in templates.json |
Region and country hierarchy
RIPE Updater determines the country for each prefix by looking up the site associated with the prefix and then walking up the region hierarchy until it finds a region whose slug matches a key in the Pythoniso3166.countries_by_name dictionary.
The region slug must be the uppercase English country name as it appears in the ISO 3166 standard (e.g. GERMANY, NETHERLANDS). The application converts the slug to uppercase before checking, so lowercase slugs such as germany also work.
DEFAULT_COUNTRY environment variable. Set DEFAULT_COUNTRY to an ISO 3166-1 alpha-2 code (e.g. DE) to ensure a sensible fallback.
Sites that are not assigned to any region, or whose region chain does not include a recognised country name, will use
DEFAULT_COUNTRY. If DEFAULT_COUNTRY is also unset and the site has no matching region, the application will raise an error for that prefix.Webhook setup
Add a single webhook in NetBox under Integrations → Webhooks with the following settings. This webhook fires whenever a prefix is created, updated, or deleted, and delivers a JSON payload to your RIPE Updater instance.Fill in the general settings
| Field | Value |
|---|---|
| Name | ripe-updater |
| Enabled | Yes |
| Assigned models | ipam | prefix |
| Events | Create, Update, Delete |
Configure the HTTP request
| Field | Value |
|---|---|
| HTTP method | POST |
| Payload URL | http(s)://your-ripe-updater-host/update |
| HTTP content type | application/json |
Add the authorisation header (if required)
If you have set Replace
UPDATE_TOKEN in your RIPE Updater configuration, add the following entry under Additional Headers:YOURTOKEN with the exact token value you set in UPDATE_TOKEN (without the Token prefix if you included it there already — match whatever full string you used).