(refactor)contrib: use link to dev guide (#32)
Signed-off-by: ksatchit <ksatchit@mayadata.io>
This commit is contained in:
committed by
Chandan Kumar
parent
f673d3e568
commit
8ae7e7e4c1
@@ -6,43 +6,5 @@ contributions. This repository is the canonical source for the chaos charts that
|
|||||||
Chaos Charts are a groups of categorized chaos experiments, represented as custom resource definitions that can be executed by the
|
Chaos Charts are a groups of categorized chaos experiments, represented as custom resource definitions that can be executed by the
|
||||||
[Litmus Chaos Operator](https://github.com/litmuschaos/chaos-operator). We would love to see your charts added to the list of community-charts.
|
[Litmus Chaos Operator](https://github.com/litmuschaos/chaos-operator). We would love to see your charts added to the list of community-charts.
|
||||||
|
|
||||||
To get started, read on!
|
To get started, refer the [developer guide](https://github.com/litmuschaos/litmus/tree/master/contribute/developer_guide)
|
||||||
|
|
||||||
## How to Contribute a Chaos Chart
|
|
||||||
|
|
||||||
The creation of a chaos chart or subchart involves the following steps:
|
|
||||||
|
|
||||||
- Creation of Litmusbooks
|
|
||||||
- Creation of Experiment CRs
|
|
||||||
- Creation of ChartServiceVersion Templates
|
|
||||||
|
|
||||||
These are briefly described below.
|
|
||||||
|
|
||||||
|
|
||||||
### Litmusbooks
|
|
||||||
|
|
||||||
Litmusbooks are the execution units of the chaos experiments. They are Kubernetes Jobs running the test containers (mostly running ansible playbooks,
|
|
||||||
but could be any other scripting/programming language as long as the input and output interfaces are satisfied!). The experiments typically
|
|
||||||
involve definition of the entry/exit(health) criteria, creation of library utils (reusable code tasks/code-blocks) and the experiment business logic.
|
|
||||||
|
|
||||||
A detailed guide for creation on ansible-based litmusbooks is provided in the [Litmusbook Cookbook](https://docs.litmuschaos.io/docs/next/cb-overview.html)
|
|
||||||
|
|
||||||
The Litmusbooks are maintained in the [Litmus](https://github.com/litmuschaos/litmus) repo. View the PR checklist for the litmusbooks [here](https://github.com/litmuschaos/litmus/blob/master/.github/PULL_REQUEST_TEMPLATE.md)
|
|
||||||
|
|
||||||
### Experiment Custom Resources
|
|
||||||
|
|
||||||
The experiment CRs are a custom/condensed representation of a litmusbook where ENVs and experiment execution info is specified. The experiment CRs
|
|
||||||
help categorization (a chart can have subcharts), bundling & lighter/less cluttered interface for tuning by developers who can readily deploy a desired
|
|
||||||
chaos profile in their deployment environments. The chaos experiments are used by the Litmus Chaos Operator to orchestrate the chaos.
|
|
||||||
|
|
||||||
Here is an example custom resource for a random [pod-delete](https://github.com/litmuschaos/community-charts/blob/master/charts/kubernetes/state/experiments/pod-delete-exp.v0.1.0.yaml) experiment
|
|
||||||
|
|
||||||
### ChartServiceVersion (CSV) Templates
|
|
||||||
|
|
||||||
The CSV specifies the metadata associated with the chart. A defined template (inspired by the CSV of Operator framework) is used to render this metadata
|
|
||||||
information on the hub.litmuschaos.io. Each chart/subchart is accompanied by its respective CSV. Here is an example detailing the [Kubernetes](https://github.com/litmuschaos/community-charts/blob/master/charts/kubernetes/kubernetes.chartserviceversion.yaml) chaos chart.
|
|
||||||
|
|
||||||
The Package YAML is used to define the hierarchy/parent-child relationship of charts & subcharts. It is used to structure the pages on hub.litmuschaos.io.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user