]> git.ipfire.org Git - thirdparty/FORT-validator.git/commitdiff
Add more installation options
authorAlberto Leiva Popper <ydahhrk@gmail.com>
Tue, 11 Jun 2019 23:07:03 +0000 (18:07 -0500)
committerAlberto Leiva Popper <ydahhrk@gmail.com>
Tue, 11 Jun 2019 23:49:25 +0000 (18:49 -0500)
Makefile.am
README.md
docs/doc/installation.md
docs/doc/intro-rpki.md
docs/doc/run.md
docs/doc/slurm.md

index f2b73326b656ffd2814c19c2c784bff6bbd885bf..fa77b18ebeb7933128524e93c6643ca55697da73 100644 (file)
@@ -12,3 +12,8 @@
 AUTOMAKE_OPTIONS = foreign
 
 SUBDIRS = src man test
+
+EXTRA_DIST  = tal/afrinic.tal
+EXTRA_DIST += tal/apnic.tal
+EXTRA_DIST += tal/lacnic.tal
+EXTRA_DIST += tal/ripe.tal
index 337ce6606e290623a5161d1f2a2234833e70e686..f35ebbf2a344232d46df905d1f914082ce01388d 100644 (file)
--- a/README.md
+++ b/README.md
@@ -24,36 +24,14 @@ make install
 
 More documentation at [https://nicmx.github.io/FORT-validator/](https://nicmx.github.io/FORT-validator/).
 
-## RTR Configuration
-
-> TODO Update this
-
-The RTR server reads the configuration from a JSON file, learn about it at FORT's site [RTR Server arguments](https://nicmx.github.io/FORT-validator/doc/rtr-server.html).
-
-Here's an example of a valid configuration file (assuming that the CSV file returned by FORT's validator is located at `/tmp/fort/roas.csv`):
-
-```javascript
-{
-  "listen": {
-    "address": "127.0.0.1",
-    "port": "8323",
-    "queue": 10
-  },
-  "vrps": {
-    "location": "/tmp/fort/roas.csv",
-    "checkInterval": 60
-  }
-}
-```
-
-## Execution
-
-> TODO Update this
-
-The executable needs only one argument: the location of the configuration file. So, assuming that the configuration file is located at `/home/fort/rtr.conf`, use the flag `-f` to indicate such location and run the server:
+## Usage
 
 ```
-$ rtr_server -f /home/fort/rtr.conf
+fort \
+       --tal <path to your TAL files> \
+       --local-repository <path where you want to keep your local cache> \
+       --server.address <your intended RTR server address> \
+       --server.port <your intended RTR server port>
 ```
 
-That's it! The server will be listening on the configured port for any RTR client that wishes to establish a connection and exchange for validated ROA payloads.
+An RTR server will serve the ROAs resulting from a validation rooted at the trust anchors defined by the TALs contained at directory `--tal`.
index 176a9ca54286bcee9898c511e9bc5d64f4ca215c..212e8944c835e8b7cf9fdf755ff69dd85e536716 100644 (file)
@@ -11,20 +11,11 @@ title: Compilation and Installation
 ## Index
 
 1. [Dependencies](#dependencies)
-2. [Debian-based distributions](#debian-based-distributions)
-3. [OpenBSD](#openbsd)
-
-## Introduction
-
-Currently, you have three options:
-
-- The Debian package: Easiest; for Debian-based distributions only.
-- The generic autotools-based "upstream" tarball: For most (if not all) other users.
-- Compiling on the git repository: Best for developers.
-
-## Debian package
-
-
+2. [Option 1: Installing the Debian package](#option-1-installing-the-debian-package)
+3. [Option 2: Compiling and installing the release tarball](#option-2-compiling-and-installing-the-release-tarball)
+       1. [Debian version](#debian-version)
+       2. [OpenBSD version](#openbsd-version)
+4. [Option 3: Compiling from the git repositories](#option-3-compiling-from-the-git-repositories)
 
 ## Dependencies
 
@@ -37,15 +28,40 @@ The dependencies are
 3. libcrypto (Either [LibreSSL](http://www.libressl.org/) or [OpenSSL](https://www.openssl.org/))
 4. [rsync](http://rsync.samba.org/)
 
-There's also [autoconf](https://www.gnu.org/software/autoconf/) and unzip (or [git](https://git-scm.com/)), but those are only needed for installation paperwork.
+The build dependencies are
 
-## Debian-based distributions
+- [autoconf](https://www.gnu.org/software/autoconf/)
+- unzip (or [git](https://git-scm.com/))
 
-I haven't actually tried this in all the Debian-based distributions. Tested in Ubuntu 18.
+(Some builds do not need all these dependencies.)
+
+## Option 1: Installing the Debian package
+
+> TODO Upload to Debian, add more archs and/or host these links on Github releases properly.
+
+{% highlight bash %}
+wget https://www.dropbox.com/s/dbdhn4yd9m3nnct/libcmscodec1_0.0.1-1_amd64.deb
+wget https://www.dropbox.com/s/7c0rs49ewcu6m93/fort_0.0.1-1_amd64.deb
+sudo apt install ./libcmscodec1_0.0.1-1_amd64.deb ./fort_0.0.1-1_amd64.deb
+{% endhighlight %}
+
+Aside from the `fort` binary documented elsewhere in this documentation, the Debian package also ships with a systemd service, which you can [configure](usage.html#--configuration-file) at `/etc/fort/config.json`.
+
+{% highlight bash %}
+sudo service fort start
+service fort status
+tail /var/log/syslog
+sudo service fort stop
+{% endhighlight %}
+
+etc.
+
+## Option 2: Compiling and installing the release tarball
+
+### Debian version
 
 {% highlight bash %}
 ########### normal dependencies ###########
-# autoconf 2.69 or higher, please.
 sudo apt install autoconf build-essential libjansson-dev libssl-dev pkg-config rsync unzip
 
 ############### libcmscodec ###############
@@ -74,7 +90,7 @@ sudo make install
 cd ../../
 {% endhighlight %}
 
-## OpenBSD
+### OpenBSD version
 
 > TODO: The autotools are weird in this OS.
 > 
@@ -85,7 +101,8 @@ cd ../../
 {% highlight bash %}
 ########### normal dependencies ###########
 su
-pkg_add jansson libexecinfo rsync unzip # OpenBSD ships with LibreSSL
+# OpenBSD already ships with LibreSSL
+pkg_add jansson libexecinfo rsync unzip
 exit
 
 ############### libcmscodec ###############
@@ -117,3 +134,38 @@ make install
 exit
 cd ../../
 {% endhighlight %}
+
+## Option 3: Compiling the git repositories
+
+{% highlight bash %}
+########### normal dependencies ###########
+sudo apt install autoconf build-essential git libjansson-dev libssl-dev pkg-config rsync
+
+################## asn1c ##################
+# (Needed by libcmscodec's autogen. Relatively recent commit required.)
+git clone https://github.com/vlm/asn1c.git
+cd asn1c
+test -f configure || autoreconf -iv
+./configure
+make
+sudo make install
+
+############### libcmscodec ###############
+git clone https://github.com/NICMx/libcmscodec.git
+cd libcmscodec/
+./autogen.sh
+./configure
+make
+sudo make install
+sudo ldconfig
+cd ../
+
+################## fort ###################
+git clone https://github.com/NICMx/FORT-validator.git
+cd FORT-validator/
+./autogen.sh
+./configure
+make
+sudo make install
+cd ../
+{% endhighlight %}
index e1bdb294ef2c7a385c2fe89ee146ee72127ddb6c..94e7cd2db685b8b7f2f4bcd7a8e5b6c421db3bf5 100644 (file)
@@ -12,15 +12,7 @@ Routing, having been conceived near the inception of networking, was hardly desi
 
 ## Solution
 
-The RPKI (Resource Public Key Infrastructure) is a PKI (Public Key Infrastructure) that deals with Internet Resources.
-
-> ### PKI
-> 
-> TODO
-
-> ### Internet Resources
-> 
-> In this context, "resource" refers to IP Addresses and AS numbers.
+The RPKI (Resource Public Key Infrastructure) is a PKI (Public Key Infrastructure) that deals with Internet Resources. (In this context, "resource" refers to IP Addresses and AS numbers.)
 
 Basically, the idea is that one should be able to verify the origin of a route by following a chain of criptographically-signed certificates rooted at one of the [RIRs](https://en.wikipedia.org/wiki/Regional_Internet_registry):
 
index 34afb8f3c770900928eb6cef4ee2ae8bdac744ee..b04adedeb43116e09c4b5c83de9e3fcf15f31909 100644 (file)
@@ -12,7 +12,7 @@ This is probably all you need:
 fort \
        --tal <path to your TAL files> \
        --local-repository <path where you want to keep your local cache> \
-       --server.address <your intended RTR server address>
+       --server.address <your intended RTR server address> \
        --server.port <your intended RTR server port>
 {% endhighlight %}
 
index 2a3a4406c225ccff4d61b5504d509ec90b881a2b..c0a12b4845f95302f650f2f29683f24d4c2e23ae 100644 (file)
@@ -25,8 +25,6 @@ None of the entries of the SLURM configuration are allowed to collide with each
 
 Fort reloads the SLURM files during every validation cycle. If the new configuration is invalid, **it is treated as nonexistent**. Note that this means that an isolated mistake will temporarily drop all your SLURM overrides. This is intended to change in a future revision of Fort, in which the validator will fall back to the previous valid SLURM configuration on error.
 
-> TODO: open an issue for that. Giving the users the opportunity to argue it is probably a good idea.
-
 ## SLURM File Definition
 
 ### Root