Skip to main content

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.

Overview

This page documents the detailed message types used by the ChaosDaemon gRPC service. For service method documentation, see gRPC API Overview.

Network Chaos Types

TcsRequest

tcs
[]Tc
List of traffic control configurations to apply.
container_id
string
Target container ID.
enterNS
bool
Whether to enter container network namespace.

Tc

type
Type
Traffic control type: NETEM or BANDWIDTH.
netem
Netem
Network emulation configuration (when type is NETEM).
tbf
Tbf
Token bucket filter configuration (when type is BANDWIDTH).
ipset
string
IPSet name for filtering.
protocol
string
Protocol to filter (tcp, udp, icmp, etc.).
source_port
string
Source port or port range.
egress_port
string
Egress/destination port or port range.
device
string
Network device name.

Netem

Network emulation parameters for delay, loss, corruption, etc.
time
string
Base delay time (e.g., “100ms”).
jitter
string
Delay variation/jitter (e.g., “10ms”).
delay_corr
float
Delay correlation percentage (0-100).
limit
uint32
Queue limit in packets.
loss
float
Packet loss percentage (0-100).
loss_corr
float
Loss correlation percentage (0-100).
gap
uint32
Gap for loss pattern.
duplicate
float
Packet duplication percentage (0-100).
duplicate_corr
float
Duplication correlation percentage (0-100).
reorder
float
Packet reordering percentage (0-100).
reorder_corr
float
Reordering correlation percentage (0-100).
corrupt
float
Packet corruption percentage (0-100).
corrupt_corr
float
Corruption correlation percentage (0-100).
parent
TcHandle
Parent qdisc handle.
handle
TcHandle
This qdisc handle.
rate
string
Rate limit (e.g., “1mbit”).

Tbf

Token Bucket Filter for bandwidth limiting.
rate
string
Rate limit (e.g., “1mbit”, “100kbit”).
limit
uint32
Queue size limit in bytes.
buffer
uint32
Token bucket buffer size.
peak_rate
uint64
Peak rate for burst traffic.
min_burst
uint32
Minimum burst size.

TcHandle

major
uint32
Major number of tc handle.
minor
uint32
Minor number of tc handle.

IPSetsRequest

ipsets
[]IPSet
List of IPSet configurations.
container_id
string
Target container ID.
enterNS
bool
Whether to enter container network namespace.

IPSet

name
string
IPSet name.
cidrs
[]string
List of CIDR ranges.
cidr_and_ports
[]CidrAndPort
List of CIDR and port combinations.
set_names
[]string
List of IPSet names for set-of-sets.
type
string
IPSet type (hash:ip, hash:net, hash:ip,port, etc.).

CidrAndPort

cidr
string
CIDR range.
port
uint32
Port number.

IptablesChainsRequest

chains
[]Chain
List of iptables chains to configure.
container_id
string
Target container ID.
enterNS
bool
Whether to enter container network namespace.

Chain

name
string
Chain name.
direction
Direction
Chain direction: INPUT or OUTPUT.
ipsets
[]string
IPSet names to match.
target
string
Target action (DROP, ACCEPT, REJECT, etc.).
protocol
string
Protocol to match (tcp, udp, icmp, all).
source_ports
string
Source port or port range to match.
destination_ports
string
Destination port or port range to match.
tcp_flags
string
TCP flags to match.
device
string
Network device to match.

Container Types

ContainerRequest

action
ContainerAction
Container action to perform.
container_id
string
Target container ID.

ContainerAction

action
Action
Action type: KILL or GETPID.

ContainerResponse

pid
uint32
Process ID of container’s main process.

Stress Types

ExecStressRequest

scope
Scope
Execution scope: CONTAINER (0) or POD (1).
target
string
Target container or pod identifier.
cpuStressors
string
CPU stressor arguments for stress-ng.
memoryStressors
string
Memory stressor arguments for stress-ng.
oomScoreAdj
int32
OOM score adjustment for stress process (-1000 to 1000).
enterNS
bool
Whether to enter target namespace.

ExecStressResponse

cpuInstance
string
CPU stress instance identifier (process name).
cpuStartTime
int64
CPU stress start timestamp.
memoryInstance
string
Memory stress instance identifier (process name).
memoryStartTime
int64
Memory stress start timestamp.
cpuInstanceUid
string
CPU stress unique identifier.
memoryInstanceUid
string
Memory stress unique identifier.

CancelStressRequest

cpuInstance
string
CPU stress instance to cancel.
cpuStartTime
int64
CPU stress start timestamp.
memoryInstance
string
Memory stress instance to cancel.
memoryStartTime
int64
Memory stress start timestamp.
cpuInstanceUid
string
CPU stress unique identifier.
memoryInstanceUid
string
Memory stress unique identifier.

I/O Chaos Types

ApplyIOChaosRequest

actions
string
Serialized JSON string containing I/O chaos actions (IOChaosAction array).
volume
string
Target volume mount path.
container_id
string
Target container ID.
instance
int64
Instance ID for tracking (from previous injection or 0 for new).
startTime
int64
Start timestamp (from previous injection or 0 for new).
enterNS
bool
Whether to enter container mount namespace.
instance_uid
string
Unique identifier for this injection.

ApplyIOChaosResponse

instance
int64
Instance ID for recovery (FUSE process PID).
startTime
int64
Start timestamp for recovery.
instance_uid
string
Unique identifier for tracking.

HTTP Chaos Types

ApplyHttpChaosRequest

rules
string
Serialized JSON string containing HTTP chaos rules.
proxy_ports
[]uint32
List of ports to proxy for HTTP chaos.
container_id
string
Target container ID.
instance
int64
Instance ID for tracking.
startTime
int64
Start timestamp.
enterNS
bool
Whether to enter container network namespace.
instance_uid
string
Unique identifier for this injection.
tls
string
TLS configuration (serialized JSON).

ApplyHttpChaosResponse

instance
int64
Instance ID for recovery.
startTime
int64
Start timestamp.
statusCode
int32
HTTP status code (0 for success, non-zero for error).
error
string
Error message if statusCode is non-zero.
instance_uid
string
Unique identifier.

Block Chaos Types

ApplyBlockChaosRequest

container_id
string
Target container ID.
volume_path
string
Target volume path.
action
Action
Block chaos action: Delay (0).
delay
BlockDelaySpec
Delay specification (when action is Delay).
enterNS
bool
Whether to enter container mount namespace.

BlockDelaySpec

delay
int64
Delay in nanoseconds.
correlation
double
Correlation percentage (0-100).
jitter
int64
Jitter in nanoseconds.

ApplyBlockChaosResponse

injection_id
int32
Injection ID for recovery.

RecoverBlockChaosRequest

injection_id
int32
Injection ID to recover (from ApplyBlockChaosResponse).

DNS Chaos Types

SetDNSServerRequest

container_id
string
Target container ID.
dns_server
string
DNS server IP address.
enable
bool
Whether to enable (true) or disable (false) the DNS server override.
enterNS
bool
Whether to enter container network namespace.

JVM Chaos Types

InstallJVMRulesRequest

container_id
string
Target container ID.
rule
string
Byteman rule script content.
port
int32
Byteman agent port.
enterNS
bool
Whether to enter container namespace.

UninstallJVMRulesRequest

container_id
string
Target container ID.
rule
string
Byteman rule script content to uninstall.
port
int32
Byteman agent port.
enterNS
bool
Whether to enter container namespace.