Skip to content
This repository has been archived by the owner on Jun 4, 2020. It is now read-only.

chaostoolkit-attic/chaostoolkit-chaoshub

Repository files navigation

chaostoolkit-chaoshub

Build Status

The Chaos Hub plugin library.

Purpose

The purpose of this library is to provide [Chaos Hub][] collaboration and sharing support to the Chaos Toolkit.

Features

The library adds the ability to login to a Chaos Hub, by default ChaosHub.com, and then to be able to publish experiment's and experimental findings into the hub.

Install

Install this package as any other Python packages:

$ pip install -U chaostoolkit-chaoshub

Notice that this draws a few dependencies:

Usage

Once installed, new login and publish subcommands will be made available to the chaos command. You can use them as follows:

$ chaos login
$ chaos publish journal.json

The login command sets up your chaos toolkit installation to target a particular Chaos Hub. The chaos publish command enables you to manually push your experimental findings, typically recorded in the journal.json, to your Chaos Hub account.

By default, once you have logged into your Chaos Hub you will automatically publish your experiment's findings to your own organization and workspace when you execute chaos run. You can turn this behaviour off by specifying --no-publish as shown here:

$ chaos run experiment.json --no-publish

Contribute

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

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. Please also make sure you provide tests whenever you submit a PR so we keep the code reliable.

Develop

If you wish to develop on this project, make sure to install the development dependencies. But first, create a virtual environment and then install those dependencies.

$ pip install -r requirements-dev.txt -r requirements.txt 

Then, point your environment to this directory:

$ python setup.py develop

Now, you can edit the files and they will be automatically be seen by your environment, even when running from the chaos command locally.

Test

To run the tests for the project execute the following:

$ pytest