user avatar
Revert "Add Governance Doc for Chaos Mesh Project (#1412)"
Calvin Weng authored
This reverts commit 1a3c2e7b.
f3c2f744
Name Last commit Last update
.github update issues template (#1407)
api move network util functions to the outside of the API folder (#1298)
ci update e2e base image (#1300)
cmd move network util functions to the outside of the API folder (#1298)
config move network util functions to the outside of the API folder (#1298)
controllers reset failed message when applying action successfully (#1428)
docs chore: transfer website to chaos-mesh/website (#1089)
examples Update io-attr-example.yaml (#1267)
hack make e2e test more stability (#1355)
helm/chaos-mesh Cleanup parameters in helm values file (#1415)
images Upgrade toda to v0.1.17 (#1423)
manifests feat: make selector support expression selectors. (#1277)
pkg Chaosctl: cleanup magic value (#1425)
static update architecture image (#1043)
test [update] delete events by experiment UID (#1372)
tools/assets_generate refactor: entrance of chaos dashboard (#864)
ui fix: some bug fixes related to the UI (#1430)
.dockerignore fix image build error (#1356)
.editorconfig style: add .editorconfig for *.go (#821)
.gitignore update e2e base image (#1300)
ADOPTERS.md chore: update adopters (#1335)
CODE_OF_CONDUCT.md update project code of conduct (#717)
CONTRIBUTING.md move network util functions to the outside of the API folder (#1298)
CONTRIBUTORS add Gallardot to contributor list (#301)
LICENSE add LICENSE
MAINTAINERS.md
Makefile
PROJECT
README.md
ROADMAP.md
go.mod
go.sum
install.sh
revive.toml
tools.go
tools.json
chaos-mesh-logo

Build Status codecov LICENSE Language Go Report Card GoDoc FOSSA Status

Note:

This readme and related documentation are Work in Progress.

Chaos Mesh® is a Cloud Native Computing Foundation (CNCF) hosted project. It is a cloud-native Chaos Engineering platform that orchestrates chaos on Kubernetes environments. At the current stage, it has the following components:

  • Chaos Operator: the core component for chaos orchestration. Fully open sourced.
  • Chaos Dashboard: a Web UI for managing, designing, monitoring Chaos Experiments; under development.

See the following demo video for a quick view of Chaos Mesh:

Watch the video

Chaos Operator

Chaos Operator injects chaos into the applications and Kubernetes infrastructure in a manageable way, which provides easy, custom definitions for chaos experiments and automatic orchestration. There are three components at play:

Controller-manager: used to schedule and manage the lifecycle of CRD objects

Chaos-daemon: runs as daemonset with privileged system permissions over network, Cgroup, etc. for a specific node

Chaos Operator

Chaos Operator uses Custom Resource Definition (CRD) to define chaos objects. The current implementation supports a few types of CRD objects for fault injection, namely DNSChaos, PodChaos, PodIoChaos, PodNetworkChaos, NetworkChaos, IoChaos, TimeChaos, StressChaos, and KernelChaos, which correspond to the following major actions (experiments):

  • pod-kill: The selected pod is killed (ReplicaSet or something similar may be needed to ensure the pod will be restarted).
  • pod-failure: The selected pod will be unavailable in a specified period of time.
  • container-kill: The selected container is killed in the selected pod.
  • netem chaos: Network chaos such as delay, duplication, etc.
  • network-partition: Simulate network partition.
  • IO chaos: Simulate file system faults such as I/O delay, read/write errors, etc.
  • time chaos: The selected pod will be injected with clock skew.
  • cpu-burn: Simulate the CPU of the selected pod stress.
  • memory-burn: Simulate the memory of the selected pod stress.
  • kernel chaos: The selected pod will be injected with (slab, bio, etc) errors.
  • dns chaos: The selected pod will be injected with dns errors, such as error, random.

Quick start

Deploy and use

See Docs.

Adopters

See ADOPTERS.

Blogs

Blogs on Chaos Mesh design & implementation, features, chaos engineering, community updates, etc. See Chaos Mesh Blogs. Here are some recommended ones for you to start with:

Contribute

See the contributing guide and development guide.

Community

Please reach out for bugs, feature requests, and other issues via:

  • Following us on Twitter at @chaos_mesh.
  • Joining the #project-chaos-mesh channel in the CNCF Slack workspace.
  • Filing an issue or opening a PR against this repository.

Community meeting

On the fourth Thursday of every month (unless otherwise specified), the Chaos Mesh community holds a monthly meeting by video conference to discuss the status of Chaos Mesh.

Quick links:

Community blog

Media coverage

FAQs

See FAQs.

Roadmap

See ROADMAP.

License

Chaos Mesh is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

FOSSA Status

Trademark

Chaos Mesh® is a trademark of The Linux Foundation. All rights reserved.