Build phase 1.5Building
Demo Workload: crashdummy
A chaos-enabled Go mock backend, resurrected from a 2023 side project, that becomes the workload the whole platform demonstrates on.
crashdummyis a configurable mock server plus a reverse proxy that injects latency, jitter, and errors. Modernized and deployed, it becomes the platform's demo workload: the app Istio splits traffic over, the source of real telemetry for the Grafana dashboards and alert tests, and the reproducible fault generator the AI agents later diagnose. It also adds Go (the language of the K8s ecosystem) to a portfolio that is otherwise Terraform and Python.
Treating old code honestly
The 2023 code is a v0 skeleton. The concept stays; the implementation is brought up to the standards of this roadmap before anything is published: Go 1.22+, idiomatic handlers, real error handling, and tests.
Deliverables
- Modernized codebase: Go 1.22+, unified latency logic in the
chaospackage, real error handling, no nil dereferences on upstream failure. - Faithful mappings: stubs honor the configured HTTP method and status code instead of matching anything and always returning 200.
- Fault injection: latency, jitter, and configurable error rates, toggleable at runtime so faults switch on during a demo without a redeploy.
- Prometheus metrics: a
/metricsendpoint with request count, latency histogram, and error rate, labeled per route. - Production container: multi-stage Dockerfile, non-root user, slim image, published to GHCR.
- GitOps deployment: an Argo CD Application into a sidecar-injection-labeled namespace.
Tasks
CRASH-001CRASH-002CRASH-003CRASH-004CRASH-005CRASH-006CRASH-007CRASH-008CRASH-009CRASH-010
Write-up
“Resurrecting a 2023 Go side project as the chaos workload for my Kubernetes platform.”