Riffol
Riffol is a supervising process that can run as a traditional daemon
on Unix-like systems or as an init
system for containers (such as
tini).
Riffol can be configured by creating application groups that consist of applications and health checks.
+--------+
| Riffol |
+----+---+
|
|
|
+------v------+
| Application |
| Group +-------+-------------+
+------+------+ | |
| | |
| | |
| | |
+------v------+ +---v----+ +----v-----+
| Application | | Health | | Resource |
+-------------+ | Check | | Limits |
+--------+ +----------+
Riffol uses the unified configuration model from https://github.com/riboseinc/event-configuration-models for its configuration syntax definition, startup configuration and also runtime configuration.
Riffol is implemented in Rust.
Building From Source
Make sure there is a Rust environment installed. Otherwise follow the Rust installation guide.
cargo install --git https:/github.com/riboseinc/riffol
This command will build a riffol
binary and store it in the bin
directory under $CARGO_HOME
- usually ~/.cargo/bin/riffol
.
Usage
riffol [-f config-file]
Riffol requires a configuration file. The default location of this
file is /etc/riffol.conf
.
This location can be specified either via the RIFFOL_CONFIG
environment variable or by using the -f
command line flag.
… Riffol?
The eggs of a female salmon are called her roe. To lay her roe, the female salmon builds a spawning nest, called a redd, in a riffle with gravel as its streambed. A riffle is a relatively shallow length of stream where the water is turbulent and flows faster.
By spelling "riffol" with an O, we are putting the chemical symbol for oxygen in the word: we are oxidising Riffol. Which makes sense, since Riffol is in Rust.