diff options
Diffstat (limited to 'content/en/docs/Releases/0_20.md')
-rw-r--r-- | content/en/docs/Releases/0_20.md | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/content/en/docs/Releases/0_20.md b/content/en/docs/Releases/0_20.md new file mode 100644 index 0000000..4e59f73 --- /dev/null +++ b/content/en/docs/Releases/0_20.md @@ -0,0 +1,62 @@ +--- +date: 2023-09-21 +title: "Ouroboros 0.20" +linkTitle: "Ouroboros 0.20" +description: "Major additions and changes in 0.20.0" +author: Dimitri Staessens +--- + +Version 0.20 brings some code refactoring and a slow of bugfixes to +the prototype to improve stability, but the main quality-of-life +addition is config file support in TOML format. This removes the need +for bash scripts to configure the prototype on reboots/restarts; a +very basic feature that was long overdue. + +As an example, before v0.20, this server had Ouroboros running as a +systemd service, and it was configured using the following irm commands: + +```bash +irm i b t udp n udp l udp ip 51.38.114.133 +irm n r ouroboros.rocks.oping l udp +irm b prog oping n ouroboros.rocks.oping auto -- -l +``` + +These bootstrap a UDP layer to the server's public IP address, +register the name "ouroboros.rocks.oping" with that layer and bind the +program binary /usr/bin/oping to that name, telling the irmd to start +that server automatically if it wasn't running before. + +While pretty simple to perform, if the service was restarted or the +server was rebooted, we needed to re-run these commands (we could have +added them to some system startup script, of course). + +Now the IRMd will load the config file specified in +/etc/ouroboros/irmd.conf. The IRMd configuration to achieve the above +(I renamed the UDP layer to "Internet", but that name doesn't really +matter if there is only one ipcpd-udp in the system): +```bash +root@vps646159:~# cat /etc/ouroboros/irmd.conf +### Ouroboros configuration file +[name."ouroboros.rocks.oping"] +prog=["/usr/bin/oping"] +args=["-l"] + +[udp.internet] +bootstrap="Internet" +ip="51.38.114.133" +reg=["ouroboros.rocks.oping"] +``` + +To enable config file support, tomlc99 is needed. Install via + +```bash +git clone https://github.com/cktan/tomlc99 +cd tomlc99 +make +sudo make install +``` + +and then reconfigure cmake and build Ouroboros as usual. + + + |