Crates.io | fault-cli |
lib.rs | fault-cli |
version | 0.16.0 |
created_at | 2025-05-20 14:48:58.901773+00 |
updated_at | 2025-08-13 22:17:03.28585+00 |
description | fault CLI |
homepage | |
repository | https://github.com/fault-project/fault-cli |
max_upload_size | |
id | 1681544 |
size | 1,154,829 |
fault is here to help you uncover and address resiliency issues early in your development cycle. By easily injecting network faults into your application’s daily workflows, fault encourages you to shift resiliency concerns to the left, long before reaching production. The result: more confident engineering teams and applications that gracefully handle the unexpected.
At its core, fault acts as a local proxy you can route traffic through, giving you fine-grained control over conditions like latency, jitter, and faults. Rather than waiting until late-stage testing or worse, customer reports, you can quickly see how your application responds when the network isn’t perfect.
Why fault?
fault is distributed as built bianries on GitHub. Please refer to the documentation.
The fault proxy is installed as follows
cargo +nightly install fault-cli
If you want to enable ebpf support (highly experimental and likely broken):
cargo +nightly install fault-cli --features stealth
In that case you will also need to install the fault ebpf programs.
Once installed, you can start a latency fault inkjection proxy (for instance):
fault run --with-latency --latency-mean 300 --latency-direction ingress --upstream localhost:9090
This is will inject 300ms
(mean) latency on network coming back from the
host localhost:9090
.