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
- 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
fault
You can download the appropriate fault-cli binary for your platform from here.
-
Ensure
fault
can 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
fault
with ebpf supportInstead, of
fault-cli
, you will need to download and runfault-cli-ebpf
which 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-ebpf
binary to$HOME/.local/bin
-
Give privileges to
fault
to load and attach these ebpf programseBPF is powerful Linux kernel level feature which requires elevated privileges to be used. While you can always run
fault
withsudo
, 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
fault
executable
AI Agent Feature
Info
fault AI Agent is not supported on Windows.
-
Install the
fault
executable with agent feature enabled
Stealth Feature
Info
fault AI Agent is only available on Linux.
-
Install the
fault
executable with stealth feature enabledIn this case, you need to enable the stealth feature. when installing the
fault
executable. -
Install the
ebpf
binaries on Linux -
Give privileges to
fault
to load and attach these ebpf programseBPF is powerful Linux kernel level feature which requires elevated privileges to be used. While you can always run
fault
withsudo
, it might be better to set privileges more specifically to the executable: