From fd2b90b3ab1059f9d61b0f67a98233ba8f644fd7 Mon Sep 17 00:00:00 2001 From: Shubham Chaudhary Date: Mon, 9 Nov 2020 16:42:46 +0530 Subject: [PATCH] chore(contribute-guide): updated the contribute guidelines (#375) Signed-off-by: shubhamchaudhary --- CONTRIBUTING.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 327268d..0ec8892 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,5 +6,39 @@ 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 [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, refer the [developer guide](https://github.com/litmuschaos/litmus-go/tree/master/contribute/developer-guide) +## Categories In 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. + +## Components/Files Of A Category +- 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 `.png` convention. + +## Components/Files Of A Experiment +- 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. + + +## Raising PR For New Experiment + +- It should contains all the required file for experiment(engine.yaml, experiment.yaml, rbac.yaml, -chartserviceversion.yaml). For more details [refer](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-experiment). + +- If the experiment belongs to an existing category then add an entry for the experiment in `` and ``. Add the icon for the experiment in `` directory. The name of the icon should be ``. + +- 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](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-category) + + +Notes: The name of directories/files should follow the same naming convention prescribed above for [experiment](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-experiment) and [category](https://github.com/litmuschaos/chaos-charts/blob/master/CONTRIBUTING.md#componentsfiles-of-a-category). + + +To get started, refer to the [developer guide](https://github.com/litmuschaos/litmus-go/tree/master/contribute/developer-guide)