This PR implements all log handling with the exception of actual syslog in Routinator itself. It also implements support for log rotation when logging into files by re-opening the log file when receiving SIGUSR2. Error handling for logging is now such that if trying to log to file or syslog fails, Routinator will exit. It will also exit if it receives SIGUSR2 and can’t open the log file. The motivation for this is that the log is used by many people to determine issues with the RPKI repositories, so silently not having logs seems bad. Also, not being able to log is a good indication for bigger problems to come. --------- Co-authored-by: Luuk Hendriks <mail@luukhendriks.eu>
Routinator
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, Twitter 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.