Skip to content

@partim partim released this Jun 3, 2019 · 15 commits to master since this release

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 now server (instead of rtrd). 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 are rtr-listen and http-listen, respectively. (#133)
  • In server (formerly rtrd) 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 new init 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, and serial 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 the config 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)
Assets 2
You can’t perform that action at this time.