Skip to content
Frank Denis edited this page Oct 27, 2018 · 14 revisions

The current code is written for rust-nightly.

Both can be downloaded on the Rust web site, or installed using rustup.

In addition to rust-nightly, the openssl-dev system package (or LibreSSL) is required for TLS support, as well as the Snappy library (libsnappy-dev) for Kafka support.

The source code can be downloaded from the Flowgger repository.

After having installed rust-nightly, compile with the usual:

cargo build --release

And copy the target/release/flowgger file anywhere; this is the only file you need.

Flowgger also includes optional support for TLS-ECDHE, which requires a modern version of LibreSSL or OpenSSL (>= 1.0.2).

This has to be enabled using a "feature":

cargo build --release features="ecdh"

It also includes optional support for using coroutines instead of dedicating a thread to each client. This requires rust-nightly and pulls additional dependencies. It can be enabled with the "coroutines" feature:

cargo build --release features="coroutines"

Support for Kafka is compiled in by default, but is optional. If Kafka is not required, it can be disabled with the without_kafka feature in order to remove the libsnappy dependency and reduce the executable size.

Features can be combined"

cargo build --release features="ecdh coroutines"

Docker images

Pre-built Flowgger Docker images are available on the Docker Hub.

In these images, Flowgger is linked against LibreSSL and includes all optional features.

Clone this wiki locally