Documentation Index
Fetch the complete documentation index at: https://mintlify.com/chaos-mesh/chaos-mesh/llms.txt
Use this file to discover all available pages before exploring further.
ChaosDaemon Service
The ChaosDaemon gRPC service provides the low-level interface for executing chaos experiments on target nodes. It runs as a privileged DaemonSet and handles the actual injection of faults into containers.Service Definition
The ChaosDaemon service is defined inpkg/chaosdaemon/pb/chaosdaemon.proto and provides the following RPC methods:
Network Chaos Methods
SetTcs
Configures traffic control (tc) rules for network chaos.Request containing tc configurations and target container.
Empty response on success.
FlushIPSets
Flushes and configures IPSet rules for network filtering.Request containing IPSet configurations.
Empty response on success.
SetIptablesChains
Configures iptables chains for network filtering and manipulation.Request containing iptables chain configurations.
Empty response on success.
Time Chaos Methods
SetTimeOffset
Applies time offset to target containers.Request specifying time offset and target container.
Empty response on success.
RecoverTimeOffset
Recoves time offset from target containers.Request specifying target container to recover.
Empty response on success.
Container Methods
ContainerKill
Kills a target container.Request specifying container to kill.
Empty response on success.
ContainerGetPid
Retrieves the PID of a target container’s main process.Request specifying target container.
Response containing the container’s PID.
Stress Chaos Methods
ExecStressors
Executes stress-ng stressors in target container or pod.Request containing stress configuration (CPU/memory stressors).
Response containing instance IDs and start times for tracking.
CancelStressors
Cancels running stress-ng instances.Request specifying stress instances to cancel.
Empty response on success.
I/O Chaos Methods
ApplyIOChaos
Applies I/O chaos to target container’s volume.Request containing I/O chaos actions and target volume.
Response containing instance ID and start time for tracking.
HTTP Chaos Methods
ApplyHttpChaos
Applies HTTP chaos rules to target container.Request containing HTTP chaos rules and proxy configuration.
Response containing instance ID, status code, and any errors.
Block Chaos Methods
ApplyBlockChaos
Applies block device chaos (delay) to target volume.Request containing block chaos configuration.
Response containing injection ID for recovery.
RecoverBlockChaos
Recovers from block device chaos.Request specifying injection ID to recover.
Empty response on success.
DNS Chaos Methods
SetDNSServer
Configures custom DNS server for target container.Request specifying DNS server and target container.
Empty response on success.
JVM Chaos Methods
InstallJVMRules
Installs Byteman rules for JVM chaos.Request containing Byteman rules and target JVM.
Empty response on success.
UninstallJVMRules
Uninstalls Byteman rules from JVM.Request specifying rules to uninstall.
Empty response on success.
Common Message Types
TimeRequest
Target container ID.
Seconds component of time offset.
Nanoseconds component of time offset.
Bitmask of clock IDs to affect.
Unique identifier for this injection.
Pod container name for reference.
ExecStressRequest
Execution scope:
CONTAINER or POD.Target container or pod identifier.
stress-ng CPU stressor arguments.
stress-ng memory stressor arguments.
OOM score adjustment for stress process.
Whether to enter target namespace.
ExecStressResponse
CPU stress instance identifier.
CPU stress start timestamp.
Memory stress instance identifier.
Memory stress start timestamp.
CPU stress unique identifier.
Memory stress unique identifier.
ApplyIOChaosRequest
Serialized JSON of I/O chaos actions.
Target volume mount path.
Target container ID.
Instance ID for tracking.
Start timestamp.
Whether to enter target namespace.
Unique identifier for this injection.
ApplyIOChaosResponse
Instance ID for recovery.
Start timestamp.
Unique identifier.