Chaos test your Kubernetes cluster.
Like Heisenberg's uncertainty principle — but for your infrastructure. Observe the bugs that only appear when you're not looking.
bash — heisensim run
$ heisensim run --namespace demo --seed 42 --duration 2m
██╗ ██╗███████╗██╗███████╗███████╗███╗ ██╗███████╗██╗███╗ ███╗ ██║ ██║██╔════╝██║██╔════╝██╔════╝████╗ ██║██╔════╝██║████╗ ████║ ███████║█████╗ ██║███████╗█████╗ ██╔██╗ ██║███████╗██║██╔████╔██║ ██╔══██║██╔══╝ ██║╚════██║██╔══╝ ██║╚██╗██║╚════██║██║██║╚██╔╝██║ ██║ ██║███████╗██║███████║███████╗██║ ╚████║███████║██║██║ ╚═╝ ██║ ╚═╝ ╚═╝╚══════╝╚═╝╚══════╝╚══════╝╚═╝ ╚═══╝╚══════╝╚═╝╚═╝ ╚═╝
The Experiment
Deterministic Replay
Same seed = same faults = same results. Every bug is perfectly reproducible.
Auto-Discovery
Scrapes K8s pods and health probes automatically. Zero CRDs, zero config.
Fault Injection
Pod crashes, network latency, partitions. Real infrastructure failures, controlled.
Timeline Correlation
Microsecond-precision mapping of faults to probe failures.
Explore Mode
Run 50 seeds in parallel. Find the interesting failures automatically.
Property Checking
Verify SLA invariants: recovery time, availability, error budgets, cascade detection.
The Hypothesis → The Proof
Define properties in TOML. heisensim evaluates them after every chaos test. Exit code 1 when they fail — CI-friendly.
properties.toml
[[properties]]
name = "fast-recovery"
type = "recovery_time"
max_seconds = 30
[[properties]]
name = "high-availability"
type = "availability"
min_percent = 99.0
verdict
╔═══════════════════════════════════════════════════════════════╗
║ PROPERTY RESULTS 4/5 PASS ║
╠═══════════════════════════════════════════════════════════════╣
║ ✅ PASS fast-recovery recovery < 30s (actual: 8.2s) ║
║ ❌ FAIL high-availability avail ≥ 99% (actual: 94.2%) ║
║ ✅ PASS bounded-errors max 5 consecutive (actual: 2) ║
║ ✅ PASS no-cascade no cascading failures ║
║ ✅ PASS low-latency p99 < 500ms (actual: 230ms) ║
╚═══════════════════════════════════════════════════════════════╝
Peer Review
| Feature | heisensim | Chaos Monkey | Litmus | Chaos Mesh | Gremlin |
|---|---|---|---|---|---|
| SLA Property Checking | ✅ | ❌ | ❌ | ❌ | ❌ |
| Deterministic Replay | ✅ | ❌ | ❌ | ❌ | ❌ |
| Auto-Discovery | ✅ | ❌ | ⚠️ | ⚠️ | ❌ |
| Zero-CRD CLI | ✅ | ❌ | ❌ | ❌ | ❌ |
| Fault↔Failure Correlation | ✅ | ❌ | ❌ | ❌ | ❌ |
| Open Source | ✅ | ✅ | ✅ | ✅ | ❌ |
Lab Setup
Homebrew
brew install heisensim/tap/heisensim
Nix
nix run github:heisensim/heisensim
Cargo
cargo install heisensim