Installing the fault cli
fault is a designed to be easily installed on major systems such as Linux, macOS and Windows. We provide a variety of approaches to install fault depending on your environment.
Features Matrix
From a very high-level fault provides the following features:
- Proxy: a network proxy that model network traffic based on a configuration
- LLM/DB: proxy subcommands dedicated to explore LLM and database issues
- Scenario: testing automation using the proxy
- Injection: machinery to inject the network proxy into platform resources
- AI Agent: review of results and code from a reliability and resilience perspective
- Stealth: eBPF program to tranparently route network traffic via the proxy
fault disables some of its features depending on the platform. When a feature is disabled, it won't appear in the CLI arguments. Below is a summary of the capabilities per target.
| Platform (OS) / Feature | Proxy | Scenario | Injection | Stealth (eBPF) | AI Agent |
|---|---|---|---|---|---|
| Linux shared library | |||||
| Linux static (musl) | |||||
| MacOSX | |||||
| Windows |
- Stealth mode relies on the Linux kernel technology called eBPF and therefore is disabled elsewhere.
- AI Agent relies on the swiftide rust framework which doesn't support Windows. However, the agent runs fine on "Linux on Windows" via WSL.
fault only supports 64 bits architectures: x86 and ARM.
Download the fault binary
The most direct route is to download the fault binary on your machine.
-
Download
faultYou can download the appropriate fault-cli binary for your platform from here.
-
Ensure
faultcan be found in yourPATH -
Turn the binary into an executable
On Linux and macOS you will need to make sure the binary gets the executable permission flipped on with:
Stealth Feature
fault stealth mode requires additional dependencies only available on Linux. Follow these instructions only if you intend on using the stealth feature. Otherwise, you may skip this section.
-
Download
faultwith ebpf supportInstead, of
fault-cli, you will need to download and runfault-cli-ebpfwhich comes with the appropriate stealth mode enabled.You can download fault-cli-ebpf here.
-
Turn the binary into an executable
On Linux and macOS you will need to make sure the binary gets the executable permission flipped on with:
-
Download fault's ebpf programs
You can download fault-ebpf-programs from here.
-
Copy them in their default location
Move the
fault-ebpfbinary to$HOME/.local/bin -
Give privileges to
faultto load and attach these ebpf programseBPF is powerful Linux kernel level feature which requires elevated privileges to be used. While you can always run
faultwithsudo, it might be better to set privileges more specifically to the executable:
Install using cargo
fault is a rust application. It can be installed using cargo which will recompile it on the machine.
-
Requirements
fault expects rust 1.85+ and the nightly channel.
-
Install the
faultexecutable
AI Agent Feature
Info
fault AI Agent is not supported on Windows.
-
Install the
faultexecutable with agent feature enabled
Stealth Feature
Info
fault AI Agent is only available on Linux.
-
Install the
faultexecutable with stealth feature enabledIn this case, you need to enable the stealth feature. when installing the
faultexecutable. -
Install the
ebpfbinaries on Linux -
Give privileges to
faultto load and attach these ebpf programseBPF is powerful Linux kernel level feature which requires elevated privileges to be used. While you can always run
faultwithsudo, it might be better to set privileges more specifically to the executable: