/chaostoolkit-tutorials

Online tutorials to learn about the Chaos Toolkit and Chaos Engineering experiments

Primary LanguageShellApache License 2.0Apache-2.0

Welcome to the Chaos Toolkit Tutorials!

This repository contains a set of tutorials to get started about Chaos Toolkit and learn how to come up with your own Chaos Engineering experiments.

The tutorials can be followed live, and freely, on Katacoda without having to install anything on your machine until you are ready.

Contribute

Contributors to this project are welcome as this is an open-source effort that seeks discussions and continuous improvement from the community.

Tutorials

New tutorials can be contributed by creating new directories that respect the layout described by the Katacoda documentation.

If you want to add a whole new tutorial you create a new top-level directory. The name of the directory should indicate what will be learnt from the tutorial and its various scenarios.

The directory name must start with a double-digit indicating the order in which the course should be displayed on the Katacoda portal.

If you add a new scenario to an existing course, add a subdirectory to its directory. Then add the necessary common data:

  • the index.json file which is the metadata from Katacoda describing the course setup and content.
  • the assets directory with any files you wush to upload to the environment. Those files must be listed in the index.json file.
  • the env-init.sh file containing steps Katacoda will run in the background when the scenario starts.
  • the env-post-init.sh file containing steps Katacoda will run in the foreground when the scenario starts.

Any number of markdown files holding the content of the scenario.

Code

From a code perspective, if you wish to contribute, you will need to run a Python 3.5+ environment. Then, fork this repository and submit a PR. The project cares for code readability and checks the code style to match best practices defined in PEP8.