From ad8e0ead8cf32dd06c4b5b3bae6301a040513bf0 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Mon, 28 Jun 2021 19:38:23 +0100 Subject: [PATCH 01/15] Signed-off-by: Gbadebo Bello Added new templates for different type of issues that can be created. --- .../create-new-section-template.md | 43 +++++++++++++++++++ .../technical-issues.md} | 15 ++++--- .../update-documentation-template.md | 18 ++++++++ .gitignore | 1 + website/build/.gitkeep | 0 5 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/create-new-section-template.md rename .github/{ISSUE_TEMPLATE.md => ISSUE_TEMPLATE/technical-issues.md} (58%) create mode 100644 .github/ISSUE_TEMPLATE/update-documentation-template.md delete mode 100644 website/build/.gitkeep diff --git a/.github/ISSUE_TEMPLATE/create-new-section-template.md b/.github/ISSUE_TEMPLATE/create-new-section-template.md new file mode 100644 index 00000000..af976e55 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/create-new-section-template.md @@ -0,0 +1,43 @@ +--- +name: Create a new section +about: For issues requesting for the need of an entirely new section(sidebars) in the documentation +title: Create {section} +labels: sections + +--- + + + + + + +# Create {section} + +## Section Name: {section} + + +### Why do we need to create this section + + +### What will this section contain? + + +### Directory + + +### Sub-sections + + +##### Sub-section one + + +##### Sub-section two + + + + +## Helpful Resources + + + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE/technical-issues.md similarity index 58% rename from .github/ISSUE_TEMPLATE.md rename to .github/ISSUE_TEMPLATE/technical-issues.md index 6716fbdb..7e666e59 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE/technical-issues.md @@ -1,4 +1,12 @@ - +--- +name: Technical Issue +about: For BUG REPORTS & FEATURE REQUESTS only! +title: {title} +labels: technical + +--- + + ## Is this a BUG REPORT or FEATURE REQUEST? @@ -12,10 +20,7 @@ If this is a BUG REPORT, please: If this is a FEATURE REQUEST, please: - Describe *in detail* the feature/behavior/change you'd like to see. -In both cases, be ready for followup questions, and please respond in a timely -manner. If we can't reproduce a bug or think a feature already exists, we -might close your issue. If we're wrong, PLEASE feel free to reopen it and -explain why. +In both cases, be ready for follow-up questions, and please respond in a timely manner. If we can't reproduce a bug or think a feature already exists, we might close your issue. If we're wrong, PLEASE feel free to reopen it and explain why. --> **What happened**: diff --git a/.github/ISSUE_TEMPLATE/update-documentation-template.md b/.github/ISSUE_TEMPLATE/update-documentation-template.md new file mode 100644 index 00000000..80b3d0fa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/update-documentation-template.md @@ -0,0 +1,18 @@ +--- +name: Update documentation +about: For issues that require an update or improvement to the existing Litmus documentation +title: {title} +labels: updates + +--- + + + +## What error was observed? + + +## What improvement does this issue propose? + + +## Helpful Resources + diff --git a/.gitignore b/.gitignore index a57ed27f..9cb7e13e 100755 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ website/i18n/* # Generated files website/.docusaurus website/.cache-loader +website/build # Misc .DS_Store diff --git a/website/build/.gitkeep b/website/build/.gitkeep deleted file mode 100644 index e69de29b..00000000 From 4f0a54a37b094f7195b99f98ff79c28bc30f0ef8 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Mon, 28 Jun 2021 19:46:05 +0100 Subject: [PATCH 02/15] Improved PULL REQUEST templates Signed-off-by: Gbadebo Bello --- .github/PULL_REQUEST_TEMPLATE.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 0a4e2db3..2ddf484a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,10 +1,14 @@ -**What this PR does / why we need it**: +### What this PR does / why we need it: + -**Which issue this PR fixes** *(optional, in `fixes #(, fixes #, ...)` format, will close that issue when PR gets merged)*: fixes # +### Which issue this PR fixes *(optional, in `fixes #(, fixes #, ...)` format, will close that issue when PR gets merged)*: fixes # -**Special notes for your reviewer**: +### What changes were made? + + +### Special notes for your reviewer: **Checklist:** - [ ] Fixes # From 077f1689444268727a68e2c6de849e8ad94fc9f3 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Thu, 1 Jul 2021 13:02:55 +0100 Subject: [PATCH 03/15] Added title to helm installation steps(Cluster Mode) Signed-off-by: Gbadebo Bello --- website/docs/litmus-installation-cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/docs/litmus-installation-cluster.md b/website/docs/litmus-installation-cluster.md index 83864873..3dc87fab 100644 --- a/website/docs/litmus-installation-cluster.md +++ b/website/docs/litmus-installation-cluster.md @@ -23,7 +23,7 @@ Installation of Litmus can be done using either of the below methods - [Helm3](#helm_install) chart or - [Kubectl](#kubectl_install) yaml spec file -### Installation Steps +### Install Litmus using Helm The helm chart will install all the required service account configuration and chaos control plane. From 6a7f3445bfa1ba6dc9dc88f1ad75af83335b1b1f Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Thu, 1 Jul 2021 13:37:47 +0100 Subject: [PATCH 04/15] Included the difference between Cluster and Namespace mode installations' Signed-off-by: Gbadebo Bello --- website/docs/litmus-installation-cluster.md | 4 ++++ website/docs/litmus-installation-namespace.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/website/docs/litmus-installation-cluster.md b/website/docs/litmus-installation-cluster.md index 3dc87fab..c0645042 100644 --- a/website/docs/litmus-installation-cluster.md +++ b/website/docs/litmus-installation-cluster.md @@ -7,6 +7,10 @@ sidebar_label: Control Plane (Cluster Mode) --- +
+
+ +Installing Litmus in cluster mode gives Litmus access to cluster wide resources. Here, the CRDs are installed directly on the cluster. ## Pre-requisites diff --git a/website/docs/litmus-installation-namespace.md b/website/docs/litmus-installation-namespace.md index e4a14954..9d181d7c 100644 --- a/website/docs/litmus-installation-namespace.md +++ b/website/docs/litmus-installation-namespace.md @@ -7,6 +7,10 @@ sidebar_label: Control Plane (Namespace Mode) --- +
+
+ +Installing Litmus in namespace mode limits Litmus access to a particluar namespace. Here, you need to create a namespace where Litmus CRDs would be installed directly. This namespace will be specified during the installation step. ## Pre-requisites From 1ca05de901fa54f4a831ac82c4225bd2e86278cc Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Mon, 19 Jul 2021 18:01:13 +0100 Subject: [PATCH 05/15] Added a question issue template Signed-off-by: Gbahdeyboh --- .github/ISSUE_TEMPLATE/question.md | 15 +++++++++++++++ ...e.md => update-documentation-template copy.md} | 0 2 files changed, 15 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/question.md rename .github/ISSUE_TEMPLATE/{update-documentation-template.md => update-documentation-template copy.md} (100%) diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 00000000..c64e0c0d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,15 @@ +--- +name: πŸ€” Question +about: For Questions not answered in our community meetings, Docs, Readme or Slack +title: {title} +labels: question + +--- + + + +**Please make sure you have;** + +- Reviewed the [Questions](https://github.com/litmuschaos/litmus-docs-beta/labels/question) asked by our community members and contributers. +- Searched opened and closed [GitHub issues](https://github.com/litmuschaos/litmus-docs-beta/issues) + diff --git a/.github/ISSUE_TEMPLATE/update-documentation-template.md b/.github/ISSUE_TEMPLATE/update-documentation-template copy.md similarity index 100% rename from .github/ISSUE_TEMPLATE/update-documentation-template.md rename to .github/ISSUE_TEMPLATE/update-documentation-template copy.md From e8481dd87e1318fed27d021857983b3382e9af33 Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Mon, 19 Jul 2021 18:03:48 +0100 Subject: [PATCH 06/15] Added a reviewer comments section to issue templates Signed-off-by: Gbahdeyboh --- .github/ISSUE_TEMPLATE/create-new-section-template.md | 6 +++++- .github/ISSUE_TEMPLATE/question.md | 4 ++++ .github/ISSUE_TEMPLATE/technical-issues.md | 5 ++++- .../ISSUE_TEMPLATE/update-documentation-template copy.md | 3 +++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/create-new-section-template.md b/.github/ISSUE_TEMPLATE/create-new-section-template.md index af976e55..b4b9bf63 100644 --- a/.github/ISSUE_TEMPLATE/create-new-section-template.md +++ b/.github/ISSUE_TEMPLATE/create-new-section-template.md @@ -40,4 +40,8 @@ If yes, please list the title of each sub-section in this format; --> ## Helpful Resources - \ No newline at end of file + + + +### Comments for the reviewers? + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index c64e0c0d..b8c2c8fe 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -13,3 +13,7 @@ labels: question - Reviewed the [Questions](https://github.com/litmuschaos/litmus-docs-beta/labels/question) asked by our community members and contributers. - Searched opened and closed [GitHub issues](https://github.com/litmuschaos/litmus-docs-beta/issues) + +### Comments for the reviewers? + + diff --git a/.github/ISSUE_TEMPLATE/technical-issues.md b/.github/ISSUE_TEMPLATE/technical-issues.md index 7e666e59..9cb4e572 100644 --- a/.github/ISSUE_TEMPLATE/technical-issues.md +++ b/.github/ISSUE_TEMPLATE/technical-issues.md @@ -29,4 +29,7 @@ In both cases, be ready for follow-up questions, and please respond in a timely **How to reproduce it (as minimally and precisely as possible)**: -**Anything else we need to know?**: \ No newline at end of file +**Anything else we need to know?**: + +### Comments for the reviewers? + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/update-documentation-template copy.md b/.github/ISSUE_TEMPLATE/update-documentation-template copy.md index 80b3d0fa..5f1dece8 100644 --- a/.github/ISSUE_TEMPLATE/update-documentation-template copy.md +++ b/.github/ISSUE_TEMPLATE/update-documentation-template copy.md @@ -16,3 +16,6 @@ labels: updates ## Helpful Resources + +### Comments for the reviewers? + From 5eb5c5c0287c4793f92cd52a1c4010f60a067584 Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Mon, 19 Jul 2021 18:05:56 +0100 Subject: [PATCH 07/15] Modified section titles Signed-off-by: Gbahdeyboh --- .github/ISSUE_TEMPLATE/create-new-section-template.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/create-new-section-template.md b/.github/ISSUE_TEMPLATE/create-new-section-template.md index b4b9bf63..5ffe5c8a 100644 --- a/.github/ISSUE_TEMPLATE/create-new-section-template.md +++ b/.github/ISSUE_TEMPLATE/create-new-section-template.md @@ -1,7 +1,7 @@ --- -name: Create a new section +name: Create a new sidebar section about: For issues requesting for the need of an entirely new section(sidebars) in the documentation -title: Create {section} +title: Create {section-name} - Title labels: sections --- @@ -11,9 +11,9 @@ labels: sections -# Create {section} +# Create {section-name} -## Section Name: {section} +## Section Name: {section-name} ### Why do we need to create this section From 2067dd4b8c25c2ffe45583b5b7fdd72a8cc09e11 Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Mon, 19 Jul 2021 18:10:24 +0100 Subject: [PATCH 08/15] Added Emoji's to section names Signed-off-by: Gbahdeyboh --- .github/ISSUE_TEMPLATE/create-new-section-template.md | 2 +- .github/ISSUE_TEMPLATE/question.md | 2 +- .github/ISSUE_TEMPLATE/technical-issues.md | 2 +- .github/ISSUE_TEMPLATE/update-documentation-template copy.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/create-new-section-template.md b/.github/ISSUE_TEMPLATE/create-new-section-template.md index 5ffe5c8a..d7f8eab0 100644 --- a/.github/ISSUE_TEMPLATE/create-new-section-template.md +++ b/.github/ISSUE_TEMPLATE/create-new-section-template.md @@ -1,5 +1,5 @@ --- -name: Create a new sidebar section +name: πŸ“– Create a new sidebar section about: For issues requesting for the need of an entirely new section(sidebars) in the documentation title: Create {section-name} - Title labels: sections diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index b8c2c8fe..6b904771 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -1,5 +1,5 @@ --- -name: πŸ€” Question +name: πŸ€” Questions about: For Questions not answered in our community meetings, Docs, Readme or Slack title: {title} labels: question diff --git a/.github/ISSUE_TEMPLATE/technical-issues.md b/.github/ISSUE_TEMPLATE/technical-issues.md index 9cb4e572..d91e30bf 100644 --- a/.github/ISSUE_TEMPLATE/technical-issues.md +++ b/.github/ISSUE_TEMPLATE/technical-issues.md @@ -1,5 +1,5 @@ --- -name: Technical Issue +name: πŸ› οΈ Technical Issue about: For BUG REPORTS & FEATURE REQUESTS only! title: {title} labels: technical diff --git a/.github/ISSUE_TEMPLATE/update-documentation-template copy.md b/.github/ISSUE_TEMPLATE/update-documentation-template copy.md index 5f1dece8..6053b486 100644 --- a/.github/ISSUE_TEMPLATE/update-documentation-template copy.md +++ b/.github/ISSUE_TEMPLATE/update-documentation-template copy.md @@ -1,5 +1,5 @@ --- -name: Update documentation +name: ⬆️ Update documentation about: For issues that require an update or improvement to the existing Litmus documentation title: {title} labels: updates From eb63370932f350aec517ec013996d7e903c2d2d6 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Sun, 4 Jul 2021 14:56:25 +0100 Subject: [PATCH 09/15] Corrected punctuautions and errors on Introduction and architecture pages Signed-off-by: Gbadebo Bello --- website/docs/architecture.md | 57 ++++++++++++++---------------------- website/docs/introduction.md | 4 +-- 2 files changed, 24 insertions(+), 37 deletions(-) diff --git a/website/docs/architecture.md b/website/docs/architecture.md index cb20f9c0..9afcab28 100644 --- a/website/docs/architecture.md +++ b/website/docs/architecture.md @@ -13,40 +13,33 @@ The above picture gives you a high-level architecture of the Litmus. At highleve 1. Portal 2. Agents -**Portal** is a set of Litmus components which act as Cross Cloud Chaos Control plane (WebUI) which is be used to orchestrate and observe the chaos workflows on Agents. +**Portal** is a set of Litmus components which act as Cross Cloud Chaos Control plane (WebUI) which is used to orchestrate and observe the chaos workflows on Agents. **Agent** is the set of Litmus components which induces Chaos using the chaos workflows on the K8S cluster component. -Typical user scenario, The user would install litmus. This would in-turn install Portal and Agent on the self cluster. Using the portal user can create/schedule new chaos workflows on the Agents and observe the results from here. User can also connect more clusters to the portal, and use the Portal as single window pane for cross cloud chaos management. +A typical user scenario would be when a user would installs litmus, this would in-turn install Portal and Agent on the self cluster. Using the portal user can create/schedule new chaos workflows on the Agents and observe the results from here. Users can also connect more clusters to the portal, and use the Portal as single window pane for cross cloud chaos management. - -**Portal Components** +#### Portal Components Portal has the following components -- Litmus WebUI - - Litmus UI provides web user interface, where user can construct and observe the chaos workflow at ease. Also this act as cross cloud chaos control plane that is - -- Litmus Server - - Litmus Server act as middle ware which is use to handle API request from the user interface, store the config and results details into the DB. This also act as interface to communicate between the requests and scheduling the workflow to Agent. +- **Litmus WebUI**
+ Litmus UI provides web user interface, where a user can construct and observe the chaos workflow at ease. Also this act as a cross cloud chaos control plane. -- Litmus DB +- **Litmus Server**
+ Litmus Server act as middleware which is use to handle API request from the user interface, store the config and result details into the DB. This also act as an interface to communicate between the requests and scheduling the workflow to the Agent. - Litmus DB act as config store for chaos workflows and its results. - -**Agent components** +- **Litmus DB**
+ Litmus DB act as a config store for chaos workflows and its results. +#### Agent components Agents has the following Litmus components -- Chaos Operator - - Chaos-Operator watches for the ChaosEngine CR and executes the Chaos-Experiments mentioned in the CR. Chaos-Operator is namespace scoped. By default, it runs in `litmus` namespace. Once the experiment is completed, chaos-operator invokes chaos-exporter to export chaos metrics to a Prometheus database. - -- CRDs +- **Chaos Operator**
+ Chaos-Operator watches for the ChaosEngine CR and executes the Chaos-Experiments mentioned in the CR. Chaos-Operator is namespace scoped. By default, it runs on the `litmus` namespace. Once the experiment is completed, chaos-operator invokes chaos-exporter to export chaos metrics to a Prometheus database. +- **CRDs**
During installation, the following three CRDs are installed on the Kubernetes cluster. ``` @@ -55,27 +48,21 @@ Agents has the following Litmus components chaosresults.litmuschaos.io ``` -- Chaos Experiment +- **Chaos Experiment**
+ Chaos Experiment is a CR and are available as YAML files on [Chaos Hub](https://hub.litmuschaos.io/). For more details visit [Chaos Hub documentation](https://litmusdocs-beta.netlify.app/docs/chaoshub). - Chaos Experiment is a CR and are available as YAML files on [Chaos Hub](https://hub.litmuschaos.io/). For more details visit Chaos Hub [documentation](https://litmusdocs-beta.netlify.app/docs/chaoshub). +- **Chaos Engine**
+ ChaosEngine CR links application to experiments. User has to create ChaosEngine YAML by specifying the application label, it's experiments and create the CR. The CR is watched by Chaos-Operator and chaos-experiments are executed on a given application. -- Chaos Engine - - ChaosEngine CR links application to experiments. User has to create ChaosEngine YAML by specifying the application label and experiments and create the CR. The CR is watched by Chaos-Operator and chaos-experiments are executed on a given application. - -- Chaos Results - - ChaosResult resource holds the results of a ChaosExperiment with a namespace scope. It is created or updated at runtime by the experiment itself. It holds important information like the ChaosEngine reference, Experiment State, Verdict of the experiment (on completion), salient application/result attributes. It is also a source for metrics collection. It is updated/patched with the status of the experiment run. It is not removed as part of the default cleanup procedures to allow for extended reference. - -- Chaos Probes +- **Chaos Results**
+ ChaosResult resource holds the results of a ChaosExperiment within a namespace scope. It is created or updated at runtime by the experiment itself. It holds important information like the ChaosEngine reference, Experiment State, Verdict of the experiment (on completion), salient application/result attributes. It is also a source for metrics collection. It is updated/patched with the status of the experiment run. It is not removed as part of the default cleanup procedures to allow for extended reference. +- **Chaos Probes**
Litmus probes are pluggable checks that can be defined within the ChaosEngine for any chaos experiment. The experiment pods execute these checks based on the mode they are defined in & factor their success as necessary conditions in determining the verdict of the experiment (along with the standard β€œin-built” checks). -- Chaos Exporter - +- **Chaos Exporter**
Optionally metrics can be exported to a Prometheus database. Chaos-Exporter implements the Prometheus metrics endpoint. -- Subscriber - +- **Subscriber**
Subscriber is the component used in Agent side which interact with Litmus Server component to get the details of Chaos workflow and send the results back. diff --git a/website/docs/introduction.md b/website/docs/introduction.md index cb525576..4ee8986d 100644 --- a/website/docs/introduction.md +++ b/website/docs/introduction.md @@ -14,11 +14,11 @@ Service downtimes are always expensive and they are very difficult to predict an LitmusChaos is a complete framework to implement chaos engineering within a cloud-native ecosystem. It helps both Developers and SREs automate the chaos experiments at different stages within the DevOps pipeline like development, during CI/CD, & in production. -- What is a Chaos Experiment? +#### What is a Chaos Experiment? Chaos Experiments are fundamental units within the LitmusChaos architecture. Users can choose between readily available chaos experiments or create new ones to construct a required chaos workflow. -- What is a Chaos Workflow? +#### What is a Chaos Workflow? A chaos workflow is much more than a simple chaos experiment. It supports the user in defining the expected result, observing the result, analysing the overall system behaviour, and in the decision-making process if the system needs to be tuned for improving the resilience. LitmusChaos provides necessary infrastructure to develop, use, and manage chaos workflows for a typical development or operations team. Teaming and GitOps features of Litmus help greatly to collaborate the chaos workflows management within the teams or software organisations. From 564c47d852682f6c91142ff8668c232f7cdce7db Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Sun, 4 Jul 2021 15:15:36 +0100 Subject: [PATCH 10/15] Modified tutorials Signed-off-by: Gbadebo Bello --- website/docs/tutorials.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/website/docs/tutorials.md b/website/docs/tutorials.md index 4d4d8702..bfca2c67 100644 --- a/website/docs/tutorials.md +++ b/website/docs/tutorials.md @@ -6,7 +6,8 @@ sidebar_label: Tutorials import {Tutorials} from '@site/src/components/tutorials/Tutorials/Tutorials.jsx' -The tutorials help you to quickly learn some of the standard day-0 to day-n flows associated with the LitmusChaos framework (and Chaos Engineering in general). Each tutorial is created with a definitive objective. If you believe the objective is not met, please create issues on the Github repository stating what is missing. + +The tutorials help you to quickly learn the LitmusChaos framework (and Chaos Engineering in general). This tutorial is splitted into a flow that lets you learn Litmus at in a self paced manner, there are n-days and you can choose to go over each day accordingly or x-days at the same time. Each tutorial is created with a definitive objective. If you believe the objective is not met, please create issues on the Github repository stating what is missing. --- From 722fd525c13fe3c79618ac98838158124a4d2305 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Sun, 4 Jul 2021 16:35:15 +0100 Subject: [PATCH 11/15] Modified Litnmus Installation steps(Cluster and Namespace modes) Signed-off-by: Gbadebo Bello --- website/docs/getstarted.md | 6 ++--- website/docs/litmus-installation-cluster.md | 4 ++-- website/docs/litmus-installation-namespace.md | 23 +++++++++++++------ 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/website/docs/getstarted.md b/website/docs/getstarted.md index 68e21b4a..ed947762 100644 --- a/website/docs/getstarted.md +++ b/website/docs/getstarted.md @@ -20,11 +20,11 @@ sidebar_label: Pre-requisites Running chaos on your application involves the following steps: -[Install Litmus](litmus-install-cluster-mode) +- [Install Litmus](litmus-install-cluster-mode) -[How to Create and Run a Workflow](create-workflow) +- [How to Create and Run a Workflow](create-workflow) -[Observe ChaosResults](observe-workflow) +- [Observe ChaosResults](observe-workflow)
diff --git a/website/docs/litmus-installation-cluster.md b/website/docs/litmus-installation-cluster.md index c0645042..98b5f26b 100644 --- a/website/docs/litmus-installation-cluster.md +++ b/website/docs/litmus-installation-cluster.md @@ -22,7 +22,7 @@ Installing Litmus in cluster mode gives Litmus access to cluster wide resources. ## Installation -Installation of Litmus can be done using either of the below methods +Installation of Litmus can be done using either of the below methods; - [Helm3](#helm_install) chart or - [Kubectl](#kubectl_install) yaml spec file @@ -42,7 +42,7 @@ helm repo list #### Step-2: Create the litmus namespace -- The litmus infra components will be placed in this namespace. +The litmus infra components will be placed in this namespace. **Note**: The chaos control plane can be placed in any namespace, though it is typically placed in "litmus". diff --git a/website/docs/litmus-installation-namespace.md b/website/docs/litmus-installation-namespace.md index 9d181d7c..ebc00402 100644 --- a/website/docs/litmus-installation-namespace.md +++ b/website/docs/litmus-installation-namespace.md @@ -16,7 +16,7 @@ Installing Litmus in namespace mode limits Litmus access to a particluar namespa - Kubernetes 1.15 or later. ​ -- Recommend to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus would use the default storage class to allocate the PV. +- It is Recommended to have a Persistent volume(PV) of 20GB, You can start with 1GB for test purposes as well. This PV is used as persistent storage to store the chaos config and chaos-metrics in the Portal. By default, litmus would use the default storage class to allocate the PV. - Helm3 or Kubectl @@ -42,7 +42,7 @@ helm repo list #### Step-2: Create the litmus namespace -- The litmus infra components will be placed in this namespace. +The litmus infra components will be placed in this namespace. **Note**: The chaos control plane can be placed in any namespace, though it is typically placed in "litmus". @@ -76,7 +76,7 @@ Visit https://docs.litmuschaos.io/docs/getstarted/ to find more info. > **Note:** Litmus uses Kubernetes CRDs to define chaos intent. Helm3 handles CRDs better than Helm2. Before you start running a chaos experiment, verify if Litmus is installed correctly. -- The cluster-admin or an equivalent user with the right permissions are required to install them CRDs upfront. To apply LitmusCRDs: +The cluster-admin or an equivalent user with the right permissions are required to install the CRDs upfront. To apply LitmusCRDs, run the command below. ```bash kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml @@ -99,7 +99,7 @@ customresourcedefinition.apiextensions.k8s.io/eventtrackerpolicies.eventtracker. #### **Install Litmus** -- Set the namespace on which you want to install litmus. +Set the namespace on which you want to install litmus. ```bash export LITMUS_PORTAL_NAMESPACE="" @@ -109,7 +109,7 @@ kubectl get ns ${LITMUS_PORTAL_NAMESPACE} kubectl create ns ${LITMUS_PORTAL_NAMESPACE} ``` -- The cluster-admin or an equivalent user with the right permissions are required to install them CRDs upfront. To apply LitmusCRDs: +The cluster-admin or an equivalent user with the right permissions are required to install them CRDs upfront. To apply LitmusCRDs, run: ```bash kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/master/litmus-portal/litmus-portal-crds.yml @@ -128,7 +128,7 @@ customresourcedefinition.apiextensions.k8s.io/chaosresults.litmuschaos.io create customresourcedefinition.apiextensions.k8s.io/eventtrackerpolicies.eventtracker.litmuschaos.io created ``` -- Replace namespace with the target namespace. +Replace namespace with the target namespace. ```bash export LITMUS_PORTAL_NAMESPACE="" @@ -157,14 +157,23 @@ service/mongo-service created **Verify if the frontend, server, and database pods are running** +<<<<<<< HEAD - Check the pods in litmus namespace: +======= +Check the litmus CRDs: +>>>>>>> 46a701c (Modified Litnmus Installation steps(Cluster and Namespace modes)) ```bash kubectl get pods -n litmus ``` +<<<<<<< HEAD Expected Output +======= +Check the pods in litmus namespace: + +>>>>>>> 46a701c (Modified Litnmus Installation steps(Cluster and Namespace modes)) ```bash NAME READY STATUS RESTARTS AGE litmusportal-frontend-97c8bf86b-mx89w 1/1 Running 2 6m24s @@ -172,7 +181,7 @@ service/mongo-service created mongo-0 1/1 Running 0 6m16s ``` -- Check the services running in litmus namespace: +Check the services running in litmus namespace: ```bash kubectl get svc -n litmus From ee787281f529a4070d741ec4ecfc09164bf9f7a1 Mon Sep 17 00:00:00 2001 From: Gbadebo Bello Date: Mon, 5 Jul 2021 14:22:21 +0100 Subject: [PATCH 12/15] Made some more fixes Signed-off-by: Gbadebo Bello --- website/docs/agent-installation.md | 6 +++--- website/docs/observe-workflow.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/website/docs/agent-installation.md b/website/docs/agent-installation.md index 83f543ea..dd5b4571 100644 --- a/website/docs/agent-installation.md +++ b/website/docs/agent-installation.md @@ -4,12 +4,12 @@ title: Litmus Chaos Agent Install sidebar_label: Chaos Agent --- -In Litmus the Agents can be classified as two types +In Litmus the Agents can be classified into two, namely; - Self Agent - External Agent -As part of Litmus installation by default, a self cluster would be registered as Agent in the Portal. From Portal you induce chaos into self cluster and observe the results from the Portal. +As a part of the Litmus installation, by default, a self cluster would be registered as Agent in the Portal. From the Portal you induce chaos into self cluster and observe the results from the Portal. As you are aware by now, Portal is a Cross Cloud Chaos Control plane. That is you can connect multiple external kubernetes agents to this portal. Once connected you can manage the chaos from the Portal that is you can induce chaos into this agent from the Portal and observe the results from the Portal. Using the command line utility _litmusctl_ you can connect the external agents to the Portal. @@ -193,4 +193,4 @@ Installation Mode: cluster πŸ‘‰ Litmus agents can be accessed here: http://172.17.0.2:31696/targets ``` -To verify, if the connection process was successful you can view the list of connected agents from the Targets section on your LitmusPortal and ensure that the connected agent is in Active State. +To verify, if the connection process was successful you can view the list of connected agents from the targets section on your LitmusPortal and ensure that the connected agent is in Active State. diff --git a/website/docs/observe-workflow.md b/website/docs/observe-workflow.md index d3f4c303..2759a889 100644 --- a/website/docs/observe-workflow.md +++ b/website/docs/observe-workflow.md @@ -8,7 +8,7 @@ sidebar_label: Observe Workflow --- -After scheduling a workflow, the user can track the status of the workflow from the Browse Workflow section. The status that is currently displayed are : +After scheduling a workflow, the user can track the status of the workflow from the Browse Workflow section. The status that is currently displayed are: - Failed - Running From 9a634de1014c451163b670c058c25aa9b026e8ce Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Fri, 23 Jul 2021 12:47:20 +0100 Subject: [PATCH 13/15] Fix Signed-off-by: Gbahdeyboh --- website/docs/litmus-installation-namespace.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/website/docs/litmus-installation-namespace.md b/website/docs/litmus-installation-namespace.md index ebc00402..2f365bb5 100644 --- a/website/docs/litmus-installation-namespace.md +++ b/website/docs/litmus-installation-namespace.md @@ -157,23 +157,14 @@ service/mongo-service created **Verify if the frontend, server, and database pods are running** -<<<<<<< HEAD - Check the pods in litmus namespace: -======= -Check the litmus CRDs: ->>>>>>> 46a701c (Modified Litnmus Installation steps(Cluster and Namespace modes)) ```bash kubectl get pods -n litmus ``` -<<<<<<< HEAD Expected Output -======= -Check the pods in litmus namespace: - ->>>>>>> 46a701c (Modified Litnmus Installation steps(Cluster and Namespace modes)) ```bash NAME READY STATUS RESTARTS AGE litmusportal-frontend-97c8bf86b-mx89w 1/1 Running 2 6m24s From c1e4dcb3235444f50bb259d70d96923de34518be Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Fri, 23 Jul 2021 13:01:48 +0100 Subject: [PATCH 14/15] Corrected some errors Signed-off-by: Gbahdeyboh --- .github/ISSUE_TEMPLATE/create-new-section-template.md | 6 +++--- website/docs/agent-installation.md | 2 +- website/docs/architecture.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/create-new-section-template.md b/.github/ISSUE_TEMPLATE/create-new-section-template.md index d7f8eab0..8960b80c 100644 --- a/.github/ISSUE_TEMPLATE/create-new-section-template.md +++ b/.github/ISSUE_TEMPLATE/create-new-section-template.md @@ -1,7 +1,7 @@ --- -name: πŸ“– Create a new sidebar section -about: For issues requesting for the need of an entirely new section(sidebars) in the documentation -title: Create {section-name} - Title +name: Create a new section +about: For documentation issues requiring an entirely new section in the sidebar +title: Create {section} labels: sections --- diff --git a/website/docs/agent-installation.md b/website/docs/agent-installation.md index dd5b4571..e67d9f80 100644 --- a/website/docs/agent-installation.md +++ b/website/docs/agent-installation.md @@ -9,7 +9,7 @@ In Litmus the Agents can be classified into two, namely; - Self Agent - External Agent -As a part of the Litmus installation, by default, a self cluster would be registered as Agent in the Portal. From the Portal you induce chaos into self cluster and observe the results from the Portal. +As a part of the Litmus installation, by default, a self cluster would be registered as an Agent in the Portal. From the Portal you may induce chaos into self cluster and observe the results from the Portal. As you are aware by now, Portal is a Cross Cloud Chaos Control plane. That is you can connect multiple external kubernetes agents to this portal. Once connected you can manage the chaos from the Portal that is you can induce chaos into this agent from the Portal and observe the results from the Portal. Using the command line utility _litmusctl_ you can connect the external agents to the Portal. diff --git a/website/docs/architecture.md b/website/docs/architecture.md index 9afcab28..7b94cb0d 100644 --- a/website/docs/architecture.md +++ b/website/docs/architecture.md @@ -17,7 +17,7 @@ The above picture gives you a high-level architecture of the Litmus. At highleve **Agent** is the set of Litmus components which induces Chaos using the chaos workflows on the K8S cluster component. -A typical user scenario would be when a user would installs litmus, this would in-turn install Portal and Agent on the self cluster. Using the portal user can create/schedule new chaos workflows on the Agents and observe the results from here. Users can also connect more clusters to the portal, and use the Portal as single window pane for cross cloud chaos management. +A typical user scenario would be when a user would install litmus. This would, in turn, install Portal and Agent on the self cluster. Using the portal, the user can create/schedule new chaos workflows on the Agents and observe the results from here. Users can also connect more clusters to the portal, and use the Portal as single window pane for cross cloud chaos management. #### Portal Components From c5791ab633d2841f5ecd03242f2c05073183e9af Mon Sep 17 00:00:00 2001 From: Gbahdeyboh Date: Mon, 30 Aug 2021 12:25:34 +0100 Subject: [PATCH 15/15] Added a glossary page Signed-off-by: Gbahdeyboh --- website/docs/terms.md | 31 +++++++++++++++++++++++++++++++ website/sidebars.js | 3 ++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 website/docs/terms.md diff --git a/website/docs/terms.md b/website/docs/terms.md new file mode 100644 index 00000000..b023a9c5 --- /dev/null +++ b/website/docs/terms.md @@ -0,0 +1,31 @@ +--- +id: terms +title: Glossary Terms +sidebar_label: Terms +--- + +--- + +- **Chaos Engineering**: [Chaos Engineering](https://en.wikipedia.org/wiki/Chaos_engineering) is a field of engineering that is focused on the design and implementation of systems that are subject to failure. + +- **Chaos Experiments**: [Chaos Experiments](https://en.wikipedia.org/wiki/Chaos_experiment) are off-the-shelf templates that one needs to "pull" before including them as part of a chaos run against any target applications + +- **Chaos Workflow**: [Chaos Workflow](https://en.wikipedia.org/wiki/Chaos_workflow) is a type of workflow that is used to model the behavior of a system under failure. It supports the user in defining the expected result, observing the result, analysing the overall system behaviour, and in the decision-making process if the system needs to be tuned for improving the resilience of the system. + +- **CRDs**: [Custom Resource Definitions](https://kubernetes.io/docs/concepts/api-extension/custom-resources/) are a type of Kubernetes API that allows users to define their own custom resources. + +- **Chaos Operator**: [Chaos Operator](https://github.com/litmuschaos/chaos-operator) is are used to inject chaos into applications and Kubernetes architecture in a fashioned manner. + +- **Chaos Scheduler**: [Chaos Scheduler](https://github.com/litmuschaos/chaos-scheduler) is a Kubernetes scheduler, which are custom-controllers with direct access to Kubernetes API that can manage the lifecycle of certain resources or applications, while always trying to ensure the resource is in the "desired state". + +- **Chaos Control Plane**: [Chaos Control Plane](https://docs.litmuschaos.io/docs/architecture/chaos-control-plane/) consist of micro-services responsible for the functioning of the Chaos Center, the website-based portal that can be used for interacting with Litmus, apart from the CLI. + +- **Litmus Service Account**: [Kubernetes Service Account](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) allow you to give an identity to your Pods, which can be used to: Authenticate Pods to the Kubernetes API server, allowing the Pods to read and manipulate Kubernetes API objects (for example, a CI/CD pipeline that deploys applications to your cluster). + +- **ChaosCenter**: [Chaos Center](https://docs.litmuschaos.io/docs/getting-started/resources#chaoscenter) is a single source of truth to control all the different Chaos Activities happening around Litmus + +- **Chaos Agent**: [Chaos Agent](https://docs.litmuschaos.io/docs/getting-started/resources#chaosagents) is the target cluster where Chaos would be injected via Litmus. + +- **Gitops**: [Gitops](https://docs.litmuschaos.io/docs/concepts/overview#gitops/) enables you to configure a single source of truth for your chaos workflows and experiments + +- **Probes**: [Probes](https://docs.litmuschaos.io/docs/concepts/probes) are pluggable checks that can be defined within the ChaosEngine for any Chaos Experiment \ No newline at end of file diff --git a/website/sidebars.js b/website/sidebars.js index 213e9372..d89967e0 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -51,6 +51,7 @@ module.exports = { // "rbac", // "service-acounts", // ], - Advanced: ['litmus-psp', 'k8s-support'] + Advanced: ['litmus-psp', 'k8s-support'], + Glossary: ['terms'], } }