Phase 22: Load Testing (k6 Operator)

phase-platform-22-load-testing Phase

phase

Phase 22: Load Testing (k6 Operator)

Goal: Establish load baselines per service and validate capacity against SLO targets. k6 in the Grafana ecosystem — metrics flow natively to existing Prometheus/Grafana.
Owner: Dev agent
Repo: forgejo_admin/pal-e-platform (k6 Operator) + load test scripts
Depends on: Phase 16 (SLO Governance — load tests validate capacity against SLO thresholds), Phase 21 (Progressive Delivery — load tests exercise canary traffic paths)
Tier: 3 — Advanced Validation. Load testing validates that the platform can sustain deployment frequency under real-world traffic patterns.
DORA: LT + DF — validates the platform can sustain deployment frequency under load. Load baselines tied to SLOs turn "we can handle it" from hope into proof.

Scope

  • Deploy k6 Operator via Helm — runs k6 tests as native Kubernetes Jobs via TestRun CRDs
  • Baseline load profiles per CUJ (from Phase 16 SLO definitions):
  • k6 Prometheus remote write — test metrics (vus, http_req_duration, iterations) land in existing Prometheus
  • Grafana load test dashboard: throughput, latency percentiles, error rates, correlated with SLO burn rate
  • Capacity SLO correlation: at what load level does the SLO start burning? That's the capacity ceiling.
  • SOP: sop-load-testing — when to run, how to interpret, capacity planning

Deliverables

  • TBD — filled after completion
  • plan-pal-e-platform — parent plan
  • phase-pal-e-platform-16-slo-error-budgets — SLOs define the targets load tests validate against
  • phase-platform-21-progressive-delivery — load tests exercise canary traffic paths
  • phase-platform-23-chaos-engineering — chaos experiments run after load baselines established