finds.dev

grafana/k6-operator

An operator for running distributed k6 tests.

View on GitHub

★ 800GoApache-2.0updated Oct 2026

// the take

A Kubernetes operator from Grafana that runs k6 load tests across multiple pods, exposed as two CRDs: TestRun for ad-hoc distributed test execution and PrivateLoadZone for tying into Grafana Cloud k6. It's for teams who already run k6 and need to scale a test beyond what one process can generate, inside a cluster they control.

The TestRun/PrivateLoadZone split maps cleanly onto k8s Jobs and is backed by a genuinely large e2e suite — namespace scoping, volume claims, init containers, simultaneous runs, cloud output, topology spread constraints are all exercised as real test cases, not just documented as config options. It's maintained by Grafana directly with real CI discipline: govulncheck, golangci-lint, helm chart lint/test, and even zizmor for GitHub Actions security. The operational knobs you actually need in a shared cluster (watch specific namespaces, custom init containers, read-only volume claims for test scripts) are first-class, not bolted on.

Orchestrating distributed k6 means a starter job, an initializer job, and per-pod runner jobs — more moving parts to debug when a run misbehaves than just running k6 as one container. The operator only controls where k6 executes, not what you do with the numbers: getting usable aggregated metrics still means wiring up a separate output (Prometheus, cloud, etc.) yourself. PrivateLoadZone, half the CRD surface, only does anything if you have a paid Grafana Cloud account, so a chunk of this repo is really a Kubernetes-native front end for a commercial product rather than something self-hosted users benefit from. At 800 stars and 215 forks after several years public, adoption looks mostly confined to teams already in the Grafana/k6 orbit, so its pace is tied to Grafana's own priorities rather than an independent community.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

// at a glance

Stars
800
Forks
215
Language
Go
License
Apache-2.0
Last commit
21 Oct 2026

// nearby

If k6-operator isn't quite it.

All repos →