github.com/grafana/k6-operator
v1.6.0
#2153 most downloaded on Go modules
grafana/k6-operator
What this package is like to depend on
Last release 6 days ago
18 Aug 2026
Ships fairly regularly
a new release about every 3 weeks
Rarely documented
notes for 5 of 27 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
85 releases · first in 2021
24 releases in the last 12 months
see the full history below
Release timeline
85 releases · Aug 2021 to Aug 2026Releases
latest 60 of 85-
v1.6.018 Aug 2026Release notes
Open source →✨ New features
To bring PrivateLoadZone mode closer to how other modes of testing in GCk6 work, we've expanded the API and what is configured through it. (issue)
.spec.argsinTestRunCRDTo fully accommodate the above change, a new field
.spec.argswas added to aTestRunCRD (PR): it takes an array of strings as arguments to k6, which allows setting arbitrary values as tags and env vars of the k6 process. This is, in effect, a way to bypass the complex tricks around string escaping and the inability to set certain values in.spec.arguments(issue), which was a fundamental limitation of that configuration type. The new way to set k6 arguments inTestRunCRD looks like this:apiVersion: k6.io/v1alpha1 kind: TestRun metadata: name: k6-sample-with-args spec: parallelism: 2 script: configMap: name: k6-test file: test.js args: - --tag - note=arbitrary values are possible "here" # passed to k6 as is - -e - PRICE_LABEL=$$100 # passed to k6 as is - -e - BASE_URL=$(BASE_URL) # Kubernetes env var will be expanded runner: env: - name: BASE_URL value: https://test.k6.io
When
.spec.argsis present, it overrides.spec.arguments. But if.spec.argsis empty, the.spec.argumentswork as before, so this change is backwards compatible.The PLZ tests were switched to using the
.spec.argsunder the hood.Warning
Please make sure to update CRD definitions properly during upgrade, to avoid any issues.
🐛 Bug fixes
We finally have a fix for trying to create start / stop jobs more than once (issue). It has been spamming logs with false positive messages. Thanks, @Guflly!
📦 Helm
The bug with invalid lengthy names during Helm chart installation was solved by deliberately trimming all resource names to 63 characters. Thanks, @moko-poi!
Warning
If you have been using a lengthy release name with
service.enabled: false, you might encounter the rename of Deployment as part of this upgrade. On a healthy cluster, it shouldn't be an issue. But it makes sense to keep an eye on observability setup, if any: watch out if it picks up the change in name correctly in this case.🛠️ Maintenance
kube-api-linter was added as a custom plugin to our golangci-lint workflow, with some basic rules enabled already. Thanks, @moko-poi!
There was a cleanup of potential bugs with shared state around the GCk6 client in the TestRun controller. That should make k6-operator more reliable at scale.
A small refactor to improve readability of the default values in the code (issue). Thanks, @moko-poi!
Key dependencies update:
- Golang bumped to 1.26 (we're almost at the 1.27 release now)
- Kubernetes group bumped to 1.36
- controller-runtime bumped to 0.24.1
- go.k6.io/k6/v2 bumped to v2.2.0
Full changelog: v1.5.0...v1.6.0
-
v1.5.1-0.20260803092101-8f42d4fb3cb303 Aug 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260728110815-119963bec12928 Jul 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260714082255-ffca562901c414 Jul 2026 pre-releaseNothing published for this version
-
v1.5.1-0.20260710154933-afe9151987b210 Jul 2026 pre-releaseNothing published for this version
-
v1.5.023 Jun 2026Release notes
Open source →⚠️ Deprecation warning
.spec.scuttleis deprecated and will be removed in the future. Please see the docs on how to set up Istio and update yourTestRuns. Note: This change comes with the RBAC update to publish Kubernetes events.✨ New features
We've added the configuration of
schedulerNameto all Pods in theTestRun. Thanks, @The-Flash-Routine!🐛 Bug fixes
Initializer Shell command was refactored into a multi-line script to track additional error cases, like missing k6 binary and other non-standard errors from k6 invocation (issue). Now all such cases are logged by the initializer Pod, and its Job fails explicitly. This should help diagnose the errors in the k6 setup.
terminationGracePeriodSecondsis set to the default value (30s) in all Pods, removing an accidental drift between runners and other Pods. We do not recommend interrupting k6 runners, but if it can't be avoided, this change should help preserve some useful data.📦 Helm
There was a bug in the Helm chart causing erratic and hard-to-diagnose behaviour of the
PrivateLoadZoneCRD, which was fixed and released as chart 4.4.1. Full description of the impact is here.🛠️ Maintenance
This is another maintenance-heavy release.
e2e tests were switched to using
expect()instead offail()in k6 tests: that guarantees the call toteardownin case of failure. This is esp. important in tests based on the xk6-environment.There has been a lot of work ongoing to improve our security stance:
- Helm release workflow was moved to use the GitHub App Token Broker (GATB) system.
- Pinning digests in dependencies, including ones in Dockerfile. Updates of the digests will be handled by renovate.
- This change also means that the
GO_BUILDER_IMGargument is no longer supported.
- This change also means that the
- Improving memory handling to prevent accidental leaks and tightening concurrency flow in PLZ.
Notable dependency updates:
go.k6.io/k6/v2instead of v1 as beforegolangci/golangci-lintto v2.12.1
Last but not least, the release process was heavily revamped to maximize the amount of automation and reduce the maintainer's toil.
Full changelog: v1.4.0...v1.5.0
-
v1.4.028 Apr 2026Release notes
Open source →✨ New features
Default tags in k6 metrics
We have changed the hard-coded tag passed to all runner pods: previously, it was
job_name. Now, it istestrun_name. As described in the issue, this change removes duplicate metrics and reduces cardinality.Warning
Some dashboards around k6-operator test runs might need updating.
E.g., if you have a query like this:
my_cool_metric{job_name=~"my-testrun-.*"}
You should change it to:
my_cool_metric{testrun_name="my-testrun", instance_id=~".*"}PrivateLoadZone CRD: Secrets support
PrivateLoadZone tests now support secrets out-of-the-box, issue. See more details about this feature in the docs and in the video here.
TLDR: if you have secrets stored in Grafana Cloud k6 and a script that references them, you can run this script with PrivateLoadZone as well.
PrivateLoadZone CRD: pod template expansion
We expanded the pod template in the PrivateLoadZone CRD to support labels and annotations, issue. This configuration will be applied to all Pods started by k6-operator for this PrivateLoadZone.
As mentioned in the release notes for 1.3.0, this is done gradually via relaxation of validation rules. In practice, this means that only a limited number of fields are available at the moment, but there will be more in the future.
Note
PrivateLoadZone doesn't support mutability yet, so it must be re-created anew if you want to add a new config to it.
🛠️ Maintenance
Notable version updates:
go.modat Go 1.25- Docker images at Go 1.26
golangci-lintat 2.10.1
There has been a lot of polishing around unit tests and e2e tests to improve overall structure and simplify onboarding and long-term maintenance. Among those changes, xk6-environment was finally refactored, addressing a long-running tech debt, and can now be built easily from its repo. This extension is used for isolation of e2e tests.
Lastly, there is now a
govulncheckGitHub Action workflow, PR, running weekly and for PRs.Full Changelog: v1.3.2...v1.4.0
-
v1.3.202 Apr 2026Release notes
Open source →A patch release to fix a #757 - to allow any kind of values in environment variables in initializer pod.
Full Changelog: v1.3.1...v1.3.2
-
v1.3.2-0.20260326115512-f3b66e67d01c26 Mar 2026 pre-releaseNothing published for this version
-
v1.3.126 Mar 2026Release notes
Open source →A patch release to fix a bug with environment variables in cloud output mode. Previously, duration of the tests set via environment variables could be calculated incorrectly at initializer step, resulting in potential timeouts from Grafana Cloud k6.
Full Changelog: v1.3.0...v1.3.1
-
v1.3.001 Mar 2026Nothing published for this version
-
v1.2.006 Jan 2026Nothing published for this version
-
v1.1.2-0.20251223153957-0ffee48eb8b823 Dec 2025 pre-releaseNothing published for this version
-
v1.1.2-0.20251212193746-f122fa0082b312 Dec 2025 pre-releaseNothing published for this version
-
v1.1.112 Dec 2025Nothing published for this version
-
v1.1.1-0.20251112135202-27fa7545348e12 Nov 2025 pre-releaseNothing published for this version
-
v1.1.011 Nov 2025Nothing published for this version
-
v1.0.1-0.20251031153118-3239c792d5dd31 Oct 2025 pre-releaseNothing published for this version
-
v1.0.1-0.20251024165909-b377dafb3be024 Oct 2025 pre-releaseNothing published for this version
-
v1.0.1-0.20250915171509-dd3f13a0757015 Sep 2025 pre-releaseNothing published for this version
-
v1.0.013 Sep 2025Nothing published for this version
-
v0.0.24-0.20250807114236-ad6c08457bdf07 Aug 2025 pre-releaseNothing published for this version
-
v0.0.2306 Aug 2025Nothing published for this version
-
v0.0.23-0.20250630104542-26b0611f74e430 Jun 2025 pre-releaseNothing published for this version
-
v0.0.2230 Jun 2025Nothing published for this version
-
v0.0.22-0.20250616154932-404592664ffa16 Jun 2025 pre-releaseNothing published for this version
-
v0.0.22-0.20250507120859-15878fc3560507 May 2025 pre-releaseNothing published for this version
-
v0.0.22-0.20250507115626-36d85c26861607 May 2025 pre-releaseNothing published for this version
-
v0.0.2107 May 2025Nothing published for this version
-
v0.0.21-0.20250414164154-415107bfeaa014 Apr 2025 pre-releaseNothing published for this version
-
v0.0.2009 Apr 2025Nothing published for this version
-
v0.0.20-0.20250321094922-f8a423478c9521 Mar 2025 pre-releaseNothing published for this version
-
v0.0.1922 Jan 2025Nothing published for this version
-
v0.0.19-0.20241113134540-cbbc656fa05213 Nov 2024 pre-releaseNothing published for this version
-
v0.0.1812 Nov 2024Nothing published for this version
-
v0.0.18-0.20241112142729-dffa7366ca8d12 Nov 2024 pre-releaseNothing published for this version
-
v0.0.18-0.20241108091554-f2b861b5c4ab08 Nov 2024 pre-releaseNothing published for this version
-
v0.0.18-0.20241003115627-3e11f608ac8803 Oct 2024 pre-releaseNothing published for this version
-
v0.0.1702 Oct 2024Nothing published for this version
-
v0.0.17-0.20240910185505-64be967c7afe10 Sep 2024 pre-releaseNothing published for this version
-
v0.0.17-0.20240903123614-14b2c82364ae03 Sep 2024 pre-releaseNothing published for this version
-
v0.0.1629 Jul 2024Nothing published for this version
-
v0.0.16-0.20240705103626-94581a4a381205 Jul 2024 pre-releaseNothing published for this version
-
v0.0.1505 Jul 2024Nothing published for this version
-
v0.0.15-0.20240523144734-6b38db77909423 May 2024 pre-releaseNothing published for this version
-
v0.0.15-0.20240514135733-6503bbb4a65114 May 2024 pre-releaseNothing published for this version
-
v0.0.15-0.20240402165757-226bb01d82ca02 Apr 2024 pre-releaseNothing published for this version
-
v0.0.15-0.20240328145451-55d949eb106728 Mar 2024 pre-releaseNothing published for this version
-
v0.0.1428 Mar 2024Nothing published for this version
-
v0.0.14-0.20240318125651-c2e81d8c832918 Mar 2024 pre-releaseNothing published for this version
-
v0.0.14-0.20240228093851-87ca93ba55ef28 Feb 2024 pre-releaseNothing published for this version
-
v0.0.14-0.20240226160605-df39311404d526 Feb 2024 pre-releaseNothing published for this version
-
v0.0.14-0.20240209152819-cacc4860412e09 Feb 2024 pre-releaseNothing published for this version
-
v0.0.14-0.20240202164921-568d40e9e7f602 Feb 2024 pre-releaseNothing published for this version
-
v0.0.14-0.20240202164101-90a0d330a86202 Feb 2024 pre-releaseNothing published for this version
-
v0.0.1302 Feb 2024Nothing published for this version
-
v0.0.13-0.20240201191053-b1a5e24862dc01 Feb 2024 pre-releaseNothing published for this version
-
v0.0.13-0.20240117122901-d6daf9e0eb7117 Jan 2024 pre-releaseNothing published for this version
-
v0.0.13-0.20231212191631-1d97a47e471b12 Dec 2023 pre-releaseNothing published for this version
-
v0.0.13-0.20231207102442-9f91611e91d507 Dec 2023 pre-releaseNothing published for this version