]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Add RTR server configuration docs
authorpcarana <pc.moreno2099@gmail.com>
Mon, 1 Apr 2019 22:27:38 +0000 (16:27 -0600)
committerpcarana <pc.moreno2099@gmail.com>
Mon, 1 Apr 2019 22:27:38 +0000 (16:27 -0600)
docs/doc/rtr-server.md

index 607c7cbd7b6c5f17cd0d340fcd83b0f35b02c65a..efba6b6ee8c1a861e72f85701aa7f5f58be633b5 100644 (file)
@@ -1,6 +1,131 @@
 ---
 title: RTR Server arguments
+command: rpki_validator
 ---
 
 # {{ page.title }}
 
+## Index
+
+1. [Syntax](#syntax)
+1. [Arguments](#arguments)
+       1. [`-f`](#-f)
+1. [Configuration file](#configuration-file)
+       1. [`listen`](#listen)
+               1. [`address`](#address)
+               1. [`port`](#port)
+               1. [`queue`](#queue)
+       1. [`vrps`](#vrps)
+               1. [`location`](#location)
+               1. [`checkInterval`](#checkinterval)
+
+## Syntax
+
+```
+{{ page.command }}
+       [-f]
+```
+
+If an argument is declared more than once, the last one takes precedence:
+
+{% highlight bash %}
+$ {{ page.command }} -f="/foo.bar"                               # f is "foo.bar"
+$ {{ page.command }} -f="/foo.bar" -f="/bar.baz"                 # f is "bar.baz"
+$ {{ page.command }} -f="/foo.bar" -f="/bar.baz" -f="/baz.qux"   # f is "baz.qux"
+{% endhighlight %}
+
+
+## Arguments
+
+### `-f`
+
+- **Type:** String (Path to file)
+- **Required:** Yes
+
+Path to the configuration file. The configuration file must be in JSON format and with the structure as stated in [Configuration file](#configuration-file).
+
+## Configuration file
+
+The configuration file must be in JSON format, and must have the following structure:
+
+```javascript
+{
+  "listen": {
+    "address": "<string>",
+    "port": "<string>",
+    "queue": <numeric>
+  },
+  "vrps": {
+    "location": "<string>",
+    "checkInterval": <numeric>
+  }
+}
+```
+
+The server has default values for the configuration, all of them stated at each of the following sections.
+
+If a property is set at the configuration file, its value will override the default value. If a property is required, then its value MUST be set at the configuration file.
+
+### `listen`
+
+Property to set values related to the service that'll be configured to listen RTR clients (routers). It has 3 attributes:
+- [`address`](#address)
+- [`port`](#port)
+- [`queue`](#queue)
+
+#### `address`
+
+- **Type:** String
+- **Default:** `NULL`
+- **Required:** No
+
+Hostname or numeric host address where the server will be binded, listening to client requests.
+
+If the address is left with 'NULL' value (default value), the service will be binded to `INADDR_ANY` or `IN6ADDR_ANY_INIT`.
+
+#### `port`
+
+- **Type:** String
+- **Default:** `323`
+- **Required:** No
+
+Port or service where the server will be binded. A service alias can be set as a valid value; the alias are commonly located at `etc/services` (read more using '`$ man services`').
+
+> ![../img/warn.svg](../img/warn.svg) If the default port will be used to start the server, a superuser MUST start the service since this is a privileged port. 
+
+#### `queue`
+
+- **Type:** Numeric (integer value)
+- **Default:** `10`
+- **Required:** No
+
+Number of client connections that will be queued before starting to refuse new ones.
+
+The value must be between 1 and `SOMAXCONN` (read more using '`$ man listen`').
+
+### `vrps`
+
+Property to set values related to the main RTR server input: the validated ROAs generated by the FORT validator. It has 2 attributes:
+- [`location`](#location)
+- [`checkInterval`](#checkinterval)
+
+#### `location`
+
+- **Type:** String
+- **Default:** `NULL`
+- **Required:** Yes
+
+Path to the CSV file with validated ROAs. This file is the one generated by the FORT validator.
+
+#### `checkInterval`
+
+- **Type:** Numeric (integer value)
+- **Default:** `60`
+- **Required:** No
+
+Time interval in seconds to seek for updates at the `vrps.location` configured, must have a value between 60 and 7200 (2 hours).
+
+The default value (and minimum value as well) is set to honour RFC 6810 requirement on Serial Notify PDUs:
+
+> "The cache MUST rate limit Serial Notifies to no more frequently than one per minute"
+