MCPcopy
hub / github.com/chaos-mesh/chaos-mesh

github.com/chaos-mesh/chaos-mesh @chart-2.8.3 sqlite

repository ↗ · DeepWiki ↗ · release chart-2.8.3 ↗
5,515 symbols 15,383 edges 763 files 1,658 documented · 30%
README

Chaos Mesh Logo Chaos Mesh Logo


LICENSE codecov Go Report Card GoDoc Upload Image

FOSSA Status CII Best Practices Artifact Hub

Chaos Mesh is an open source cloud-native Chaos Engineering platform. It offers various types of fault simulation and has an enormous capability to orchestrate fault scenarios.

Using Chaos Mesh, you can conveniently simulate various abnormalities that might occur in reality during the development, testing, and production environments and find potential problems in the system. To lower the threshold for a Chaos Engineering project, Chaos Mesh provides you with a visualization operation. You can easily design your Chaos scenarios on the Web UI and monitor the status of Chaos experiments.

cncf_logo cncf_logo

Chaos Mesh is a Cloud Native Computing Foundation (CNCF) incubating project. If you are an organization that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Chaos Mesh plays a role, read the CNCF announcement.


At the current stage, Chaos Mesh 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.

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 two components at play:

Chaos Controller Manager: is primarily responsible for the scheduling and management of Chaos experiments. This component contains several CRD Controllers, such as Workflow Controller, Scheduler Controller, and Controllers of various fault types.

Chaos Daemon: runs as DaemonSet and has Privileged permission by default (which can be disabled). This component mainly interferes with specific network devices, file systems, kernels by hacking into the target Pod Namespace.

Chaos Operator

Chaos Operator uses CustomResourceDefinition (CRD) to define chaos objects.

The current implementation supports a few types of CRD objects for fault injection, namely PodChaos, NetworkChaos, IOChaos, TimeChaos, StressChaos, and so on. You can get the full list of CRD objects and their specifications in the Chaos Mesh Docs.

Quick start

See Quick Start and Install Chaos Mesh using Helm.

Contributing

See the contributing guide and development guide.

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:

Community

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

  • Following us on Twitter @chaos_mesh.

  • Joining the #project-chaos-mesh channel in the CNCF Slack workspace.

  • Filling an issue or opening a PR against this repository.

Community meetings

  • Chaos Mesh Community Monthly (Community and project-level updates, community sharing/demo, office hours)
  • Time: on the fourth Thursday of every month (unless otherwise specified)
  • RSVP here
  • Meeting minutes

  • Chaos Mesh Development Meeting (Releases, roadmap/features/RFC planning and discussion, issue triage/discussion, etc)

  • Time: Every other Tuesday (unless otherwise specified)
  • RSVP here
  • Meeting minutes

Community blogs

Community talks

Media coverage

License

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

FOSSA Status

Trademark

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

Extension points exported contracts — how you extend this code

Step (Interface)
Step represents a step of PodIOTransaction [39 implementers]
controllers/chaosimpl/iochaos/podiochaosmanager/transaction.go
Recoverable (Interface)
Recoverable introduce the task recovering ability. Used in Recover. [33 implementers]
pkg/chaosdaemon/tasks/task_manager.go
Selector (Interface)
Selector is an interface implemented by things that know how to list objects from cluster and whether this object matche [6 …
pkg/selector/generic/selector.go
GenericChaosList (Interface)
GenericChaosList only use to list GenericChaos by certain EmbedChaos +kubebuilder:object:generate=false [16 implementers]
api/v1alpha1/workflownode_types.go
ChaosEvent (Interface)
(no doc) [43 implementers]
controllers/utils/recorder/recorder.go
Collector (Interface)
Collector is a set of tools for collecting parameters/context from user defined task [4 implementers]
pkg/workflow/task/collector/collector.go
Defaulter (Interface)
(no doc) [29 implementers]
api/genericwebhook/defaulter.go
Selector (Interface)
(no doc) [6 implementers]
ui/app/src/components/NewExperiment/types.ts

Core symbols most depended-on inside this repo

Error
called by 337
pkg/workflow/errors/errors.go
New
called by 322
pkg/chaosdaemon/tasks/task_manager.go
Error
called by 318
controllers/action/multiplexer.go
i18n
called by 234
ui/app/src/components/T/index.tsx
Get
called by 215
controllers/statuscheck/manager.go
Create
called by 157
pkg/dashboard/core/event.go
String
called by 140
pkg/label/label.go
Wrapf
called by 140
pkg/cerr/common_errors.go

Shape

Method 2,595
Function 1,687
Struct 721
Interface 414
TypeAlias 82
Enum 7
FuncType 5
Class 4

Languages

Go82%
TypeScript18%

Modules by API surface

pkg/chaosdaemon/pb/chaosdaemon.pb.go501 symbols
api/v1alpha1/zz_generated.deepcopy.go476 symbols
api/v1alpha1/zz_generated.chaosmesh.go269 symbols
ui/app/src/openapi/index.schemas.ts208 symbols
ui/app/src/openapi/index.ts191 symbols
ui/app/src/openapi/index.msw.ts109 symbols
pkg/chaoskernel/pb/bpfki.pb.go109 symbols
controllers/utils/recorder/workflow.go89 symbols
api/v1alpha1/zz_generated.chaosmesh_test.go85 symbols
api/v1alpha1/physical_machine_chaos_types.go56 symbols
pkg/dashboard/core/workflow.go47 symbols
api/v1alpha1/physical_machine_chaos_webhook.go47 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cyphar.com/go-pathrsv0.2.4 · 1×
dario.cat/mergov1.0.1 · 1×
filippo.io/edwards25519v1.1.0 · 1×
github.com/AdaLogics/go-fuzz-headersv0.0.0-2024080614160 · 1×
github.com/AdamKorcz/go-118-fuzz-buildv0.0.0-2025052011150 · 1×
github.com/Azure/azure-sdk-for-gov68.0.0+incompatible · 1×
github.com/Azure/go-ansitermv0.0.0-2025010203350 · 1×
github.com/Azure/go-autorestv14.2.0+incompatible · 1×

Datastores touched

(mysql)Database · 1 repos
mysqlDatabase · 1 repos

For agents

$ claude mcp add chaos-mesh \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact