Difficulty: beginner
Estimated Time: 5 minutes

The Chaos Toolkit is a free, open source project that enables you to create and apply Chaos Experiments to discover, and eventually improve and address, weaknesses across your system's infrastructure, platform and application levels.

This tutorial takes you through the setup of the Chaos Toolkit's chaos command. It also teaches you how Chaos Toolkit Extensions, that select which layers and technologies can be targetted by your experiments, can be installed into your environment.

Great start! You have installed the Chaos Toolkit in a Python virtual environment seen how simple it is to install and enable new integrations through for your chaos experiments using Chaos Toolkit Extensions.

Now you're all set to write and run your first Chaos Experiment using the Chaos Toolkit in the next scenario of this tutorial...

Don’t stop now! The next scenario will only take about 10 minutes to complete.

Setting up the Chaos Toolkit

Step 1 of 2

Install the Chaos Toolkit CLI

The Chaos Toolkit CLI, called chaos, is a Python program that is executed in your terminal. It exposes various built-in commands performing different tasks.

The Chaos Toolkit expects Python 3 to run. Let's make sure you run at least Python 3.5:

python3 -V

Usually, the python binary refers to Python 2 so make sure you use python3 in your commands.

As a Python program, it is best install it in its own virtual environment. Let's create it as follows:

mkdir ~/.venvs && python3 -m venv ~/.venvs/chaostk

Once the virtual environment installed, you need to activate it in your current terminal session:

source ~/.venvs/chaostk/bin/activate

We're going to use pip to manage the dependencies and install the Chaos Toolkit. Let's first make sure we have the latest and greatest pip installed:

pip install -U pip

Then we can install the Chaos Toolkit itself by running the following:

pip install -U chaostoolkit

Note that pip may complain while installing some dependencies, these warnings are nothing to worry about and will not prevent those dependencies from being installed.

Now, the chaos comand should be available:

chaos --help

Next, you need to learn how to install extensions to provide new probes and actions to your Chaos Toolkit environment.