Pystol is a fault injection platform allowing users to execute fault injection Actions in cloud-native environments in a controlled and prescribed way.
The platform is modeled as a Software Product Line, thus, allowing its extensibility to multiple scenarios.
Pystol is a Kubernetes operator that watches for events in the ETCD, once a fault injection action is scheduled to be executed, the operator starts the process to execute it, by creating a Kubernetes batch job triggering the pod creation that will execute the final action based in an Ansible collection.
This architecture allows Pystol to work as the vehicle to execute the fault injection actions without limiting developers to write their own actions and integrating them in the platform if they are required to do so. In any case the modules in Ansible collections can be written in any programing language (Golang or Python) allowing to use the expertise of the developers without limiting them to a specific programming language.
Pystol is a federated platform that is composed by several repositories.
- Pystol operator source code
- Pystol Galaxy collection
- Pystol Ansible automation
- Pystol official documentation
- Pystol CI dashboard
Our continuous integration dashboard (a.k.a badgeboard) is an information radiator that provides a summary of each job operational health.
We collect the result data from several projects badges and render them in a HTML board. You can see the current status of the builds in the project’s main site.
Also you can view the source code in GitHub.
All pystol official container images are hosted in Quay.io under the Pystol organization.
There you will find two repositories:
The Pystol staging repository. Here you will find all the container images from the upstream end-to-end jobs from the GitHub Actions jobs.
The Pystol stable repository. Here you will find all the container images from the stable branches.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Bug reports and pull requests are welcome on any repository from the Pystol organization.
This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Pystol is committed to fostering a welcoming community.
View our Code of Conduct on our GitHub repository.
The official Pystol docs are rendered using this template.