Skip to content

Overview

The heart of the Chaos Toolkit is the chaos command line.

Activate the Python virtual environment

If you run the Chaos Toolkit directly, rather than using a container, always ensure you have activated the virtual environment so that it can be found along its dependencies:

source ~/.venvs/chaostk/bin/activate

Once installed, the Chaos Toolkit CLI will display the commands it supports by executing:

chaos --help
Usage: chaos [OPTIONS] COMMAND [ARGS]...

Options:
  --version                   Show the version and exit.
  --verbose                   Display debug level traces.
  --no-version-check          Do not search for an updated version of the
                              chaostoolkit.
  --change-dir TEXT           Change directory before running experiment.
  --no-log-file               Disable logging to file entirely.
  --log-file TEXT             File path where to write the command's log.
                              [default: chaostoolkit.log]
  --log-format [string|json]  Console logging format: string, json.
  --settings TEXT             Path to the settings file.  [default:
                              /Users/ciaran/.chaostoolkit/settings.yaml]
  --help                      Show this message and exit.

Commands:
  discover  Discover capabilities and experiments.
  info      Display information about the Chaos Toolkit environment.
  init      Initialize a new experiment from discovered capabilities.
  run       Run the experiment loaded from SOURCE, either a local file or...
  settings  Read, write or remove from your settings file.
  validate  Validate the experiment at SOURCE.

Configure the Chaos Toolkit

For the most part, the Chaos Toolkit does not need to be configured. However, if it does, the settings are stored in a YAML file on your local machine.

Tip

Unless you enable one of the features requiring extra configuration, you don’t need to create that file. If a feature requires extra configuration, its documentation will say so.

Create the settings file

The settings file for the Chaos Toolkit should be located under the following path:

$HOME/.chaostoolkit/settings.yaml

As this file may hold sensitive data, it is advised to make it readable only for your own user:

chmod 600 $HOME/.chaostoolkit/settings.yaml

How to Investigate Issues

When your experiment fails to work as you would expect, you should start looking at the chaostoolkit.log file written to by the chaos command.

This file contains a lot of traces from the Chaos Toolkit core but also any extensions that used the toolkit’s logger.

As new logs are appended to that file, it may grow big. Do not hesitate to wipe it out from time to time.

Please, do make sure to visit our Slack or GitHub when you have a question around how the toolkit does things. The community will be pleased to help you out.