Included Script Experiments

Following scripts are packaged inside Chaos Engine core jar archive.

Each script must follow Chaos Engine Scripting Requirements

Script Name Description Requires cattle
burnIO.sh Utilize system disk to maximum Yes
cpuBurn.sh Simulates high CPU usage on all available processing units Yes
dnsBlock.sh Removes all DNS servers from system configuration Yes
fillDisk.sh Creates large file on the system root partition Yes
forkBomb Runs endless recursion that corrupts system memory Yes
memoryConsumer.sh Consumes all free memory Yes
nullRoute.sh Adds an IP table rule that will forward traffic from specific subnet to black hole Yes
starveRandomGenerator.sh Simulates low entropy Yes
terminateProcess.sh Sends a SIGINT to PID 1 in a Container, or SIGKILL to many processes based on keyword names if not a container (i.e., python, java, node, etc.) Yes

Custom Scripts

Custom Scripts can be loaded in from the file system by placing them in a specific path and configuring one property.

Property Description Default
allowScriptsFromFilesystem Allows scripts to be loaded from the file system in the Script Manager false

The scripts must be nested under the classpath folder, under the subfolder path ssh/experiments/. In the default Docker image, this would require mounting a path under /chaosengine/lib/ssh/experiments/ and including custom scripts there.

Note that the User Defined Experiment functionality depends on the Experiment name, which is derived from the filename. If a duplicate filename exists, it will choose which one to run based on which is loaded by the file system first. Choose a distinct filename to ensure proper control.