• Stars
    star
    132
  • Rank 274,205 (Top 6 %)
  • Language
    Go
  • License
    Apache License 2.0
  • Created about 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Chaos Engineering toolkit.

chaosd

Gitpod ready-to-code

chaosd is an easy-to-use Chaos Engineering tool used to inject failures to a physical node.

Document

For details about the introduction and usage of chaosd, refer to the documentation.

Types of fault

You can use Chaosd to simulate the following fault types:

  • Process: Injects faults into the processes. Operations such as killing the process or stopping the process are supported.
  • Network: Injects faults into the network of physical machines. Operations such as increasing network latency, losing packets, and corrupting packets are supported.
  • Stress: Injects stress on the CPU or memory of the physical machines.
  • Disk: Injects faults into disks of the physical machines. Operations such as increasing disk load of reads and writes, and filling disks are supported.
  • Host: Injects faults into the physical machine. Operations such as shutdown the physical machine are supported.

For details about the introduction and usage of each fault type, refer to the related documentation.

Work modes

You can use Chaosd in the following modes:

  • Command-line mode: Run Chaosd directly as a command-line tool to inject and recover faults.

  • Service mode: Run Chaosd as a service in the background, to inject and recover faults by sending HTTP requests.

Prerequisites

Before deploying chaosd, make sure the following items have been installed:

  • tc
  • ipset
  • iptables
  • stress-ng (required when install chaosd by building from source code)
  • byteman(required when install chaosd by building from source code)

Install

You can either build directly from the source or download the binary to finish the installation.

  • Build from source code

    Build chaosd:

    make chaosd

    Build or download tools related to Chaosd:

    make chaos-tools

    Put Chaosd into PATH:

    mv ./bin /usr/local/chaosd
    export PATH=$PATH:/usr/local/chaosd
    
  • Download binary

    Download the latest unstable version by executing the command below:

    curl -fsSL -o chaosd-latest-linux-amd64.tar.gz https://mirrors.chaos-mesh.org/chaosd-latest-linux-amd64.tar.gz

    If you want to download the release version, you can replace the latest in the above command with the version number. For example, download v1.1.1 by executing the command below:

    curl -fsSL -o chaosd-v1.1.1-linux-amd64.tar.gz https://mirrors.chaos-mesh.org/chaosd-v1.1.1-linux-amd64.tar.gz

    Then uncompress the archived file:

    tar zxvf chaosd-latest-linux-amd64.tar.gz

    Put Chaosd into PATH:

    mv ./chaosd-latest-linux-amd64 /usr/local/chaosd
    export PATH=$PATH:/usr/local/chaosd

More Repositories

1

chaos-mesh

A Chaos Engineering Platform for Kubernetes.
Go
6,679
star
2

toda

A hook filesystem and utils to inject IO chaos
Rust
48
star
3

chaos-tproxy

Rust
31
star
4

bpfki

A BPF-based kernel fault injection service
C++
30
star
5

chaos-mesh-action

Shell
22
star
6

nsexec

Rust
22
star
7

website

Source for Chaos Mesh website.
JavaScript
21
star
8

chaos-driver

A kernel module to inject error or latency inside the linux kernel
C
14
star
9

rfcs

RFCs for changes to Chaos Mesh and its ecosystem
14
star
10

website-zh

Chaos Mesh δΈ­ζ–‡ζ–‡ζ‘£
JavaScript
13
star
11

datasource

Grafana data source plugin for Chaos Mesh.
TypeScript
9
star
12

k8s_dns_chaos

k8s_dns_chaos - enables injecting DNSChaos in a Kubernetes cluster.
Go
9
star
13

database-testing

Here we show how we test database(TiDB)
8
star
14

web-show

This repo just is a web demo to show the effect of Chaos Mesh
TypeScript
6
star
15

iproute2-rs

Iproute2 for rust.
Rust
5
star
16

charts

Helm repository for Chaos Mesh
5
star
17

chaos-mesh.github.io

Chaos Mesh Website
HTML
4
star
18

apps

applications
3
star
19

memStress

Go
3
star
20

logo

Chaos Mesh brand is for you. You can use it or build upon it
2
star
21

.github

Show you what Chaos Mesh is
2
star
22

tidb-chaos

Recording the method, process, and results of chaos engineering testing of TiDB by using Chaos Mesh.
2
star
23

jvm-chaos-demo

Java
2
star
24

prow-config

The configuration of Chaotic Prow. https://prow.chaos-mesh.dev/
Makefile
1
star
25

experiments

Chaos Mesh experiments
Shell
1
star
26

toda-glibc

C
1
star
27

byteman-helper

Byteman's User-Defined Rule Helper, used for Chaos Mesh
Java
1
star
28

website-archived

All archived Chaos Mesh documentation.
JavaScript
1
star
29

fx-logr

fxevent logr adapter.
Go
1
star
30

chaos-mesh-on-skywalking

1
star