Break/verify/fix training scenarios for the mymh.dev homelab.
Find a file
2026-08-26 20:10:15 +02:00
.gitignore .gitignored less ignored. 2026-07-17 08:07:38 +02:00
LICENSE.md License: Added MIT License and updated README to reflect that. 2026-07-09 22:58:13 +02:00
README.md README: Tiny cosmetic update re: the ascii map. 2026-08-26 20:10:15 +02:00

chaos-scripts — Break/Verify/Fix Training Scenarios

Break/verify/fix training scenarios for the mymh.dev homelab — per ADR-002 in homelab-docs. Full project context, decisions, and runbooks live in homelab-docs; this repo's own docs cover only how to use its tooling.

Repository structure

chaos-scripts/
├─ LICENSE.md
└─ README.md               # This file

Further structure (scenario scripts + documented solutions, .gitignore) lands once work starts here, per ADR-002 — "repos are created when they get content, not upfront."

Rules for this repo

  • No file — tracked or untracked — ever contains a real IP, MAC address, hostname, or credential. Environment-specific values are runtime parameters (env vars/CLI args), never persisted to disk in the repo.
  • Each script injects exactly one fault; diagnosis happens with kubectl only, then gets compared against a documented solution checked in alongside it.
  • Scenarios only ever run in disposable environments — a dedicated training vCluster or local kind/minikube — never against a production vCluster.
  • Scenario categories: failing pods (bad image tags, missing ConfigMap/Secret, OOMKill, bad liveness probes, CrashLoopBackOff), DNS/networking (CoreDNS, Service selectors, NetworkPolicy, Traefik Ingress), storage (PVC Pending, mount errors, full-disk, StatefulSet/PV binding), upgrades/rollbacks (Talos rolling upgrades, helm rollback, ArgoCD revert drills — doubles as MTTR data for DORA).
  • Later stage: replace hand-written scripts with a CNCF chaos tool (e.g. Chaos Mesh) once the cluster is stable — not before.

Out of scope

  • On-prem machine provisioning (homelab-iac).
  • Talos machine configs and cluster bootstrap (homelab-cluster-config).
  • ArgoCD app-of-apps and application manifests (homelab-gitops).
  • Decision records and runbooks (homelab-docs).

Documentation

  • Decisions: ADRs in homelab-docs
  • Operational procedures: runbooks in homelab-docs
  • Progress: roadmap/journal in homelab-docs

License

Licensed under the MIT License — free to use, share, and adapt with attribution (keep the copyright notice).