Litmus chaos-charts is an Apache 2.0 Licensed project that uses the standard GitHub pull requests process to review and accept contributions. This repository is the canonical source for the chaos charts that appear on hub.litmuschaos.io
Chaos Charts are a groups of categorized chaos experiments, represented as custom resource definitions that can be executed by the Litmus Chaos Operator. We would love to see your charts added to the list of community-charts.
- Generic: It contains chaos to disrupt state of kubernetes resources. i.e, pod-delete
- OpenEBS: It contains chaos to disrupt state of OpenEBS control/date plane components. i.e, openebs-target-failure
- Cassandra: It contains chaos to disrupt state of Cassandra Applications. i.e, cassandra-pod-delete
- Kafka: It contains chaos to disrupt state of Kafka Applications. i.e, kafka-broker-pod-delete
- Coredns: It contains chaos to disrupt state of Coredns pod. i.e, coredns-pod-delete
- Kube-AWS: It contains chaos to disrupt state of AWS resources running part of the kubernetes cluster. i.e, ebs-loss
- Kube-Components: It contains chaos to disrupt the state of kubernetes components. i.e, k8-kube-proxy.
- experiments.yaml: It contains combined/concatenated experiments CRs present inside that category.
- <category>-chartserviceversion.yaml: It contains all the metadata of the category, which is rendered in ChaosHub.
- <category>.package.yaml: It contains list of all experiments present in that category.
- icons:
icons
directory contains category icon and icons of all experiments present inside that category. The name of the icon file should follow this<exp-name>.png
convention.
- engine.yaml: It contains ChaosEngine CR manifest of the experiment.
- experiment.yaml: It contains ChaosExperiment CR manifest of the experiment.
- rbac.yaml: It contains RBAC(serviceAccount, Role/ClusterRole, RoleBinding/ClusterRoleBinding) manifest of the experiment.
- <exp-name>-chartserviceversion.yaml: It contains all the metadata of the experiment, which is rendered in ChaosHub.
-
It should contains all the required file for experiment(engine.yaml, experiment.yaml, rbac.yaml, -chartserviceversion.yaml). For more details refer.
-
If the experiment belongs to an existing category then add an entry for the experiment in
<category.package.yaml>
and<category.chartserviceversion.yaml>
. Add the icon for the experiment in<category/icons>
directory. The name of the icon should be<exp-name.png>
. -
If the experiment belongs to a new category then Create all the required files for the category and add the entries. For more details refer
Notes: The name of directories/files should follow the same naming convention prescribed above for experiment and category.
To get started, refer to the developer guide