Litmus helps SREs and developers practice chaos engineering in a Cloud-native way. Chaos experiments are published at the ChaosHub (https://hub.litmuschaos.io). Community notes is at https://hackmd.io/a4Zu_sH4TZGeih-xCimi3Q
Go to file
Karthik Satchitanand c10a8e4896
(chore)GSoD: Project Proposal Page (#2603)
* (chore)GSoD: Project Proposal Page

Signed-off-by: ksatchit <karthik.s@mayadata.io>

* (chore)GSoD: Clarify scope of work and provide budget info

Signed-off-by: ksatchit <karthik.s@mayadata.io>
2021-03-26 19:56:18 +05:30
.betterci Merge remote-tracking branch 'upstream/master' into frontend-dockerimage-change 2020-11-15 09:47:53 +05:30
.github Adding args to docker build of frontend (#2597) 2021-03-24 17:42:40 +05:30
adopters (chore)adopters: add Red Hat adoption story in ADOPTERS.md file (#2508) 2021-03-06 00:27:39 +05:30
chaos-engineering (chore)content: add folder to discuss chaos engg (#1619) 2020-06-30 11:14:28 +05:30
demo Adding monitoring and other setup files for Percona and removing event router dependency. (#2438) 2021-03-11 14:00:38 +05:30
docs Add manifesh for namespace mode of litmus portal (#2588) 2021-03-24 15:49:11 +05:30
images Update Readme (#1854) 2020-08-12 20:35:24 +05:30
litmus-portal Added checks to avoid frontend URL manipulation (#2601) 2021-03-25 23:36:07 +05:30
monitoring feat: auto import prometheus datasource and dashboard in grafana deployment (#2548) 2021-03-18 11:34:50 +05:30
translations Better: Russian translation (#2459) 2021-02-22 18:42:04 +05:30
.bettercodehub.yml moving commits from litmus-portal to master (#1872) 2020-08-15 20:01:13 +05:30
.gitignore Adding changes to frontend for interleaving chaos events on litmus-ui graphs. (#2521) 2021-03-11 15:45:05 +05:30
.gitlab-ci.yml (fix): Refactor Gitlab-ci yml for litmus repository (#1184) 2020-02-03 17:37:03 +05:30
ADOPTERS.md (chore)adopters: add Red Hat adoption story in ADOPTERS.md file (#2508) 2021-03-06 00:27:39 +05:30
CHAOS_EXPERIMENT_MATURITY.md (chore)updates to project docs (#946) 2019-11-15 21:19:00 +05:30
CODE_OF_CONDUCT.md Spelling error (#2286) 2020-10-31 12:21:59 +05:30
CONTRIBUTING.md added title image , fixed a link & few typos (#2164) 2020-10-02 06:13:48 +00:00
GOVERNANCE.md chore: add governance artefacts (#1272) 2020-03-13 09:10:47 +05:30
GoogleSeasonOfDocs.md (chore)GSoD: Project Proposal Page (#2603) 2021-03-26 19:56:18 +05:30
LICENSE (license): Update the license Authors (#957) 2019-11-26 02:47:09 +05:30
MAINTAINERS Update the Maintainers email and company (#2489) 2021-03-02 21:42:29 +05:30
NOTICE.md (chore)notice: add fossa report (#1316) 2020-03-13 23:50:01 +05:30
README.md Translated readme.md in Hindi (हिंदी) language (#2252) 2020-12-23 13:59:23 +05:30
RELEASE_GUIDELINES.md Remove pages repo from litmus (#1781) 2020-07-25 16:51:08 +05:30
ROADMAP.md (chore)roadmap: update roadmap (#2322) 2020-11-05 10:08:28 +05:30
fossa.md Remove pages repo from litmus (#1781) 2020-07-25 16:51:08 +05:30
okteto-pipeline.yaml Namespace scope mode for litmus-portal and okteto cloud dev environment integration. (#2187) 2020-10-07 10:33:58 +05:30

README.md

LitmusChaos

Litmus

Cloud-Native Chaos Engineering

Slack Channel CircleCI Docker Pulls GitHub stars GitHub issues Twitter Follow CII Best Practices BCH compliance FOSSA Status YouTube Channel



Read this in other languages.

🇰🇷 🇨🇳 🇧🇷 🇮🇳

Overview

Litmus is a toolset to do cloud-native chaos engineering. Litmus provides tools to orchestrate chaos on Kubernetes to help SREs find weaknesses in their deployments. SREs use Litmus to run chaos experiments initially in the staging environment and eventually in production to find bugs, vulnerabilities. Fixing the weaknesses leads to increased resilience of the system.

Litmus takes a cloud-native approach to create, manage and monitor chaos. Chaos is orchestrated using the following Kubernetes Custom Resource Definitions (CRDs):

  • ChaosEngine: A resource to link a Kubernetes application or Kubernetes node to a ChaosExperiment. ChaosEngine is watched by Litmus' Chaos-Operator which then invokes Chaos-Experiments
  • ChaosExperiment: A resource to group the configuration parameters of a chaos experiment. ChaosExperiment CRs are created by the operator when experiments are invoked by ChaosEngine.
  • ChaosResult: A resource to hold the results of a chaos-experiment. The Chaos-exporter reads the results and exports the metrics into a configured Prometheus server.

Chaos experiments are hosted on hub.litmuschaos.io. It is a central hub where the application developers or vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.

Litmus workflow

Use cases

  • For Developers: To run chaos experiments during application development as an extension of unit testing or integration testing.
  • For CI pipeline builders: To run chaos as a pipeline stage to find bugs when the application is subjected to fail paths in a pipeline.
  • For SREs: To plan and schedule chaos experiments into the application and/or surrounding infrastructure. This practice identifies the weaknesses in the system and increases resilience.

Getting Started with Litmus

IMAGE ALT TEXT

Check out the Litmus Docs to get started.

Contributing to Chaos Hub

Check out the Contributing Guidelines for the Chaos Hub

Adopters

Check out the Adopters of LitmusChaos

(Send a PR to the above page if you are using Litmus in your chaos engineering practice)

Things to Consider

Some of the considerations that need to be made with Litmus (as a chaos framework), are broadly listed here. Many of these are already being worked on as mentioned in the ROADMAP. For details or limitations around specific experiments, refer to the respective experiments docs.

  • Litmus chaos operator and the chaos experiments run as kubernetes resources in the cluster. In case of airgapped environments, the chaos custom resources and images need to be hosted on premise.
  • When attempting to execute platform specific chaos experiments (like those on AWS, GCP cloud) the access details are passed via kubernetes secrets. Support for other modes of secret management with Litmus is yet to be tested/implemented.
  • Some chaos experiments make use of the docker api from within the experiment pods, and thereby require the docker socket to be mounted. User discretion is advised when allowing developers/devops admins/SREs access for running these experiments.
  • In (rare) cases where chaos experiments make use of privileged containers, the recommended security policies will be documented.

License

Litmus is licensed under the Apache License, Version 2.0. See LICENSE for the full license text. Some of the projects used by the Litmus project may be governed by a different license, please refer to its specific license.

FOSSA Status

Litmus Chaos is part of the CNCF Projects.

CNCF

Community

The Litmus community meets on the third wednesday of every month at 10:00PM IST/9.30 AM PST.

Community Resources:

Litmus Docs Litmus Docs
CNCF Landscape Litmus on CNCF Landscape