This release fundamentally changes the command line options for
running the server and introduces a new way to initialize the local RPKI
repository used by Routinator. If you have been using previous releases,
you will likely have to adjust your tooling. We apologize for this, but
we also feel that the new commands are more intuitive and logical.
Server Mode
The command for running the server (previously rtrd
) is now called
server
. It will not detach from the terminal anymore unless
explicitly instructed via the -d
option.
When we added HTTP support, we intended it to be for monitoring only.
But it turned out that using HTTP is very useful for integrating Routinator
into existing work flows, so we now make HTTP a first class protocol. Since
this means that users may want to use the server mode without RTR,
Routinator will not listen on any ports by default any more. Instead, you
will have to explicitly choose the protocols, addresses, and ports to listen
on. The options for listening are now more intuitive, too: --rtr
for RTR
and --http
for HTTP.
Initialization
Previously, Routinator automatically installed the TALs if the TAL
directory wasn’t present and then stopped because of the missing ARIN TAL.
This made it difficult to automatically install TALs in deployments.
This release replaces the automatic mechanism with a manual procedure that
is invoked by the new init
command.
In addition, we have received permission by ARIN to include their TAL. If
you agree with the ARIN Relying Party Agreement, you can now instruct
Routinator to install all TALs without having to download anything.
Filtering of VRPs
To make up for all these breaking changes, we added filtering of VRPs in
output both via the vrps
command and in the HTTP output. Command line
options or HTTP query fields allow limiting the output to those VRPs that
cover a set of address prefixes or are related to a set of ASNs.
All Changes
Breaking Changes
- Major cleanup of the command line and configuration file for server
mode. The command is nowserver
(instead ofrtrd
). RTR and HTTP are
now equals. There is no more default listeners being created, you have to
specify them explicitly via command line options or config file. The option
is now--rtr
for RTR listeners (previously just--listen
) and
--http
for HTTP listeners (previously--listen-http
). The config
file fields arertr-listen
andhttp-listen
, respectively. (#133) - In
server
(formerlyrtrd
) mode, the-a
option is gone and has
been replaced by a-d
option. In other words, the default is now to
stay attached to the terminal and only fork into the background if-d
is given. (#134) - The TAL directory will no longer be automatically populated. Instead,
you can install the bundled TALs via the newinit
command. After
having received permission from ARIN, we are now also bundling the ARIN
TAL in Routinator and require specific agreement to ARIN’s Relying Party
Agreement via a command line option. (#135) - The minimum supported Rust version is now 1.34.0. (#112)
New
- Four new monitoring gauges
last_update_start
,last_update_done
,
last_update_duration
, andserial
that will allow alerting if
Routinator stops updating. (#122 and #131) - Accept RTR listening socket from systemd. This allows to listen on port
323 without special privileges. Enable via the new--listen-systemd
option. (#127 and #130). - Improved path
/status
in HTTP output that provides the same
information as the/metrics
endpoint in slightly different format that
might make it easier to use in processing. (#131) - Filtering for address prefixes and ASNs in VRP output via the
vrps
command or in HTTP output. (#137)
Bug Fixes
- The value of the
listen-http
config option wasn’t include in the
output of theconfig
command. Now it is. (#109) - The HTTP server would eventually hang Routinator in a tight loop if
connections were closed early by the peer. (#120) - Only read files ending in
.tal
in the TAL directory as is already
documented. (#121) - Announce the correct content type in HTTP output with formats JSON and
CSV. (#146)
Dependencies
- Update to rpki-rs 0.4 (#111)