MCPcopy Index your code
hub / github.com/NLnetLabs/routinator

github.com/NLnetLabs/routinator @v0.15.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.15.2 ↗ · + Follow
1,595 symbols 4,295 edges 61 files 568 documented · 36%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Routinator

crates.io CI Packaging Docker Pulls Documentation Status

Discuss on Discourse Discord Mastodon Follow

Routinator 3000 is free, open-source RPKI Relying Party software. The project is written in Rust, a programming language designed for performance and memory safety.

Lightweight and portable

Routinator has minimal system requirements and it can run on almost any hardware and platform, with packages available for most. You can also easily run with Docker or Cargo, the Rust package manager.

Full-featured and secure

Routinator runs as a service that periodically downloads and verifies RPKI data. The built-in HTTPS server offers a user interface, API endpoints for various file formats, as well as logging, status and Prometheus metrics.

Flexible RPKI-to-Router (RTR) support

Routinator has a built-in RTR server to let routers fetch verified RPKI data. You can also run RTR as a separate daemon using our RPKI data proxy RTRTR, letting you centralise validation and securely distribute processed data to various locations.

Open-source with professional support services

NLnet Labs offers professional support and consultancy services with a service-level agreement. Community support is available on Discord, and our mailing list. Routinator is liberally licensed under the BSD 3-Clause license.

Launch Smoothly

Getting started with Routinator is really easy by installing a binary package for either Debian and Ubuntu or for Red Hat Enterprise Linux (RHEL) and compatible systems such as Rocky Linux. Alternatively, you can run with Docker or build from the source code using Cargo, Rust’s build system and package manager.

Please refer to the comprehensive documentation to learn what works best for you.

Extension points exported contracts — how you extend this code

Formatter (Interface)
(no doc) [13 implementers]
src/output.rs
Compose (Interface)
(no doc) [16 implementers]
src/utils/binio.rs
ProcessRun (Interface)
A type that can process the valid data from the RPKI. [2 implementers]
src/engine.rs
Parse (Interface)
(no doc) [16 implementers]
src/utils/binio.rs
ProcessPubPoint (Interface)
A type that can process the valid data from an RPKI publication point. [2 implementers]
src/engine.rs
ObjectMeta (Interface)
A type representing meta data of an object. A value of a type of this trait is stored with every object in an archive. [3 …
src/utils/archive.rs
WriteOrPanic (Interface)
A target for writing formatted data into without error. This provides a method `write_fmt` for use with the `write!` ma [2 …
src/utils/fmt.rs
UriExt (Interface)
An extension trait for URI kind of types. [2 implementers]
src/utils/uri.rs

Core symbols most depended-on inside this repo

label
called by 139
src/http/metrics.rs
push
called by 136
src/payload/delta.rs
y
called by 93
contrib/ui/assets/index-DkoXaVwN.js
iter
called by 93
src/payload/info.rs
as_ref
called by 77
src/collector/rsync.rs
member_raw
called by 71
src/utils/json.rs
as_ref
called by 65
src/output.rs
value
called by 58
src/http/metrics.rs

Shape

Method 815
Function 552
Class 183
Enum 37
Interface 8

Languages

Rust73%
TypeScript27%
Python1%

Modules by API surface

contrib/ui/assets/index-DkoXaVwN.js435 symbols
src/utils/archive.rs98 symbols
src/output.rs81 symbols
src/engine.rs72 symbols
src/store.rs59 symbols
src/config.rs57 symbols
src/metrics.rs52 symbols
src/payload/validation.rs40 symbols
src/log.rs38 symbols
src/collector/rsync.rs38 symbols
src/collector/rrdp/base.rs37 symbols
src/collector/rrdp/archive.rs37 symbols

For agents

$ claude mcp add routinator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page