██████╗██╗ ██╗ █████╗ ██████╗ ███████╗ ██╗ ██╗██╗ ██╗ ██████╗ ██████╗ ███╗ ██╗███████╗
██╔════╝██║ ██║██╔══██╗██╔═══██╗██╔════╝ ██║ ██╔╝██║ ██║██╔═══██╗██╔══██╗████╗ ██║██╔════╝
██║ ███████║███████║██║ ██║███████╗ █████╔╝ ███████║██║ ██║██████╔╝██╔██╗ ██║█████╗
██║ ██╔══██║██╔══██║██║ ██║╚════██║ ██╔═██╗ ██╔══██║██║ ██║██╔══██╗██║╚██╗██║██╔══╝
╚██████╗██║ ██║██║ ██║╚██████╔╝███████║██╗██║ ██╗██║ ██║╚██████╔╝██║ ██║██║ ╚████║███████╗
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═══╝╚══════╝
Chaos Khorne is an autonomous, production-grade chaos engineering and resilience injection engine designed for modern microservice architectures, Kubernetes clusters, and continuous delivery pipelines.
By injecting real-world distributed faults—such as network latency spikes, packet loss storms, CPU/memory resource exhaustion, and pod termination—Chaos Khorne exposes brittle fault domains, verifies fallback circuits, and enforces automated rollbacks before SLA degradation affects real end-users.
| Capability | Description |
|---|---|
| 🌐 Network Latency Injection | Bidirectional TCP proxy adding millisecond latency and configurable microsecond jitter. |
| 📉 Stochastic Packet Drops | Precision drop percentage simulation testing retry budgets and timeout degradation. |
| ⚡ Resource Starvation | Multi-threaded CPU cycle burning and dirty-page memory pinning preventing cache hits. |
| 💀 Process / Pod Killer | Graceful and ungraceful signal delivery targeting local processes and Kubernetes pods. |
| 🛡️ Blast-Radius Governor | Hard-boundary concurrency throttling and blacklisting of mission-critical services. |
| 🚨 Automated SLA Rollback | Sub-second active health probing with emergency circuit trip and instant recovery on breach. |
flowchart TD
A[CI/CD Trigger or API Call] --> B[Blast-Radius Governor]
B -->|Check Concurrency & Target Rules| C{Authorized?}
C -->|No| D[Reject: Blast Radius Violation]
C -->|Yes| E[Preflight Health Probe]
E --> F[Inject Fault via Disruptor]
F --> G[Real-Time SLA & Health Telemetry]
G --> H{SLA Breached?}
H -->|Yes| I[⚡ EMERGENCY ROLLBACK]
H -->|No / Duration Elapsed| J[Orderly Recovery Phase]
I --> K[Audit Log & Post-Mortem Metric Report]
J --> K
chaos-khorne/
├── .github/
│ └── workflows/
│ └── ci.yml # Automated CI build, test, and lint workflow
├── cmd/
│ └── chaos-khorne/
│ └── main.go # Production HTTP daemon entry point
├── pkg/
│ ├── config/
│ │ └── config.go # Production configuration parser
│ ├── disruptors/
│ │ ├── disruptor.go # Core Disruptor interface & status types
│ │ ├── network_latency.go # TCP proxy delay & jitter injector
│ │ ├── packet_drop.go # Stochastic & burst packet loss engine
│ │ ├── process_killer.go # OS process & Kubernetes pod terminator
│ │ └── resource_starvation.go # CPU cycle burner & memory dirty-pinner
│ ├── engine/
│ │ ├── executor.go # Chaos experiment lifecycle orchestrator
│ │ └── governor.go # Blast-radius containment governor
│ └── telemetry/
│ └── health_probe.go # Active probe checker & SLA breach detector
├── tests/
│ └── chaos_test.go # Automated integration test suite
├── go.mod # Go 1.22 module definition
└── README.md # High-fidelity documentation
# Clone the repository
git clone https://github.com/ER-brocode/chaos-khorne.git
cd chaos-khorne
# Build binary
go build -o bin/chaos-khorne ./cmd/chaos-khorne
# Launch daemon
./bin/chaos-khorne --config=config.jsongo test -v -race -cover ./...curl -X POST http://localhost:8080/api/v1/chaos/inject \
-H "Content-Type: application/json" \
-d '{
"experiment_name": "checkout-latency-resilience",
"target": "checkout-service:8081",
"fault_type": "latency",
"duration_sec": 10,
"latency_ms": 250,
"target_port": 8081,
"target_host": "127.0.0.1",
"health_url": "http://127.0.0.1:8081/healthz"
}'Released under the MIT License.