You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/architecture.md
+22-35Lines changed: 22 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,40 +13,33 @@ The above picture gives you a high-level architecture of the Litmus. At highleve
13
13
1. Portal
14
14
2. Agents
15
15
16
-
**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.
16
+
**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.
17
17
18
18
**Agent** is the set of Litmus components which induces Chaos using the chaos workflows on the K8S cluster component.
19
19
20
-
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.
20
+
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.
21
21
22
22
23
-
24
-
**Portal Components**
23
+
#### Portal Components
25
24
26
25
Portal has the following components
27
26
28
-
- Litmus WebUI
29
-
30
-
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
31
-
32
-
- Litmus Server
33
-
34
-
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.
27
+
-**Litmus WebUI** <br />
28
+
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.
35
29
36
-
- Litmus DB
30
+
-**Litmus Server**<br />
31
+
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.
37
32
38
-
Litmus DB act as config store for chaos workflows and its results.
39
-
40
-
**Agent components**
33
+
-**Litmus DB**<br />
34
+
Litmus DB act as a config store for chaos workflows and its results.
41
35
36
+
#### Agent components
42
37
Agents has the following Litmus components
43
38
44
-
- Chaos Operator
45
-
46
-
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.
47
-
48
-
- CRDs
39
+
-**Chaos Operator**<br />
40
+
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.
49
41
42
+
-**CRDs**<br />
50
43
During installation, the following three CRDs are installed on the Kubernetes cluster.
51
44
52
45
```
@@ -55,27 +48,21 @@ Agents has the following Litmus components
55
48
chaosresults.litmuschaos.io
56
49
```
57
50
58
-
- Chaos Experiment
51
+
-**Chaos Experiment**<br />
52
+
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).
59
53
60
-
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).
54
+
-**Chaos Engine**<br />
55
+
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.
61
56
62
-
- Chaos Engine
63
-
64
-
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.
65
-
66
-
- Chaos Results
67
-
68
-
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.
69
-
70
-
- Chaos Probes
57
+
-**Chaos Results**<br />
58
+
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.
71
59
60
+
-**Chaos Probes**<br />
72
61
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).
73
62
74
-
- Chaos Exporter
75
-
63
+
-**Chaos Exporter**<br />
76
64
Optionally metrics can be exported to a Prometheus database. Chaos-Exporter implements the Prometheus metrics endpoint.
77
65
78
-
- Subscriber
79
-
66
+
-**Subscriber**<br />
80
67
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.
Copy file name to clipboardExpand all lines: website/docs/introduction.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,11 @@ Service downtimes are always expensive and they are very difficult to predict an
14
14
15
15
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.
16
16
17
-
- What is a Chaos Experiment?
17
+
####What is a Chaos Experiment?
18
18
19
19
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.
20
20
21
-
- What is a Chaos Workflow?
21
+
####What is a Chaos Workflow?
22
22
23
23
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.
24
24
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.
0 commit comments