- stable rust toolchains.
- clang and libbpf headers for the C eBPF probe.
- protoc and the Google protobuf definitions for gRPC.
On Fedora, you can install all the dependencies with the following commands:
sudo dnf install -y \
clang \
libbpf-devel \
protobuf-compiler \
protobuf-devel \
rustup
rustup toolchain install stable
Use cargo build
, cargo check
, etc. as normal. Run your program with:
cargo run --release --config 'target."cfg(all())".runner="sudo -E"'
Cargo build scripts are used to automatically build the eBPF correctly and include it in the program.
With the exception of eBPF code, fact is distributed under the terms of the Apache License (version 2.0).
All eBPF code is distributed under either the terms of the GNU General Public License, Version 2 or the MIT license, at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the GPL-2 license, shall be dual licensed as above, without any additional terms or conditions.