PackageTrack

Go modules ยท #2153

github.com/grafana/k6-operator

v1.6.0grafana/k6-operator โ†—

Release timeline

85 releases since 2021
20222023202420252026

Releases

  1. v1.6.018 Aug 2026
    Release notes

    โœจ 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.args in TestRun CRD

    To fully accommodate the above change, a new field .spec.args was added to a TestRun CRD (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 in TestRun CRD 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.args is present, it overrides .spec.arguments. But if .spec.args is empty, the .spec.arguments work as before, so this change is backwards compatible.

    The PLZ tests were switched to using the .spec.args under 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

    Open source โ†’
  2. v1.5.1-0.20260803092101-8f42d4fb3cb33 Aug 2026pre-release

    Nothing published for this version

  3. v1.5.1-0.20260728110815-119963bec12928 Jul 2026pre-release

    Nothing published for this version

  4. v1.5.1-0.20260714082255-ffca562901c414 Jul 2026pre-release

    Nothing published for this version

  5. v1.5.1-0.20260710154933-afe9151987b210 Jul 2026pre-release

    Nothing published for this version

  6. v1.5.023 Jun 2026
    Release notes

    โš ๏ธ Deprecation warning

    .spec.scuttle is deprecated and will be removed in the future. Please see the docs on how to set up Istio and update your TestRuns. Note: This change comes with the RBAC update to publish Kubernetes events.

    โœจ New features

    We've added the configuration of schedulerName to all Pods in the TestRun. 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.

    terminationGracePeriodSeconds is 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 PrivateLoadZone CRD, 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 of fail() in k6 tests: that guarantees the call to teardown in 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_IMG argument is no longer supported.
    • Improving memory handling to prevent accidental leaks and tightening concurrency flow in PLZ.

    Notable dependency updates:

    • go.k6.io/k6/v2 instead of v1 as before
    • golangci/golangci-lint to 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

    Open source โ†’
  7. v1.4.028 Apr 2026
    Release notes

    โœจ 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 is testrun_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.mod at Go 1.25
    • Docker images at Go 1.26
    • golangci-lint at 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 govulncheck GitHub Action workflow, PR, running weekly and for PRs.

    Full Changelog: v1.3.2...v1.4.0

    Open source โ†’
  8. v1.3.22 Apr 2026
    Release notes

    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

    Open source โ†’
  9. v1.3.2-0.20260326115512-f3b66e67d01c26 Mar 2026pre-release

    Nothing published for this version

  10. v1.3.126 Mar 2026
    Release notes

    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

    Open source โ†’
  11. v1.3.01 Mar 2026

    Nothing published for this version

  12. v1.2.06 Jan 2026

    Nothing published for this version

  13. v1.1.2-0.20251223153957-0ffee48eb8b823 Dec 2025pre-release

    Nothing published for this version

  14. v1.1.2-0.20251212193746-f122fa0082b312 Dec 2025pre-release

    Nothing published for this version

  15. v1.1.112 Dec 2025

    Nothing published for this version

  16. v1.1.1-0.20251112135202-27fa7545348e12 Nov 2025pre-release

    Nothing published for this version

  17. v1.1.011 Nov 2025

    Nothing published for this version

  18. v1.0.1-0.20251031153118-3239c792d5dd31 Oct 2025pre-release

    Nothing published for this version

  19. v1.0.1-0.20251024165909-b377dafb3be024 Oct 2025pre-release

    Nothing published for this version

  20. v1.0.1-0.20250915171509-dd3f13a0757015 Sept 2025pre-release

    Nothing published for this version

  21. v1.0.013 Sept 2025

    Nothing published for this version

  22. v0.0.24-0.20250807114236-ad6c08457bdf7 Aug 2025pre-release

    Nothing published for this version

  23. v0.0.236 Aug 2025

    Nothing published for this version

  24. v0.0.23-0.20250630104542-26b0611f74e430 Jun 2025pre-release

    Nothing published for this version

  25. v0.0.2230 Jun 2025

    Nothing published for this version

  26. v0.0.22-0.20250616154932-404592664ffa16 Jun 2025pre-release

    Nothing published for this version

  27. v0.0.22-0.20250507120859-15878fc356057 May 2025pre-release

    Nothing published for this version

  28. v0.0.22-0.20250507115626-36d85c2686167 May 2025pre-release

    Nothing published for this version

  29. v0.0.217 May 2025

    Nothing published for this version

  30. v0.0.21-0.20250414164154-415107bfeaa014 Apr 2025pre-release

    Nothing published for this version

  31. v0.0.209 Apr 2025

    Nothing published for this version

  32. v0.0.20-0.20250321094922-f8a423478c9521 Mar 2025pre-release

    Nothing published for this version

  33. v0.0.1922 Jan 2025

    Nothing published for this version

  34. v0.0.19-0.20241113134540-cbbc656fa05213 Nov 2024pre-release

    Nothing published for this version

  35. v0.0.1812 Nov 2024

    Nothing published for this version

  36. v0.0.18-0.20241112142729-dffa7366ca8d12 Nov 2024pre-release

    Nothing published for this version

  37. v0.0.18-0.20241108091554-f2b861b5c4ab8 Nov 2024pre-release

    Nothing published for this version

  38. v0.0.18-0.20241003115627-3e11f608ac883 Oct 2024pre-release

    Nothing published for this version

  39. v0.0.172 Oct 2024

    Nothing published for this version

  40. v0.0.17-0.20240910185505-64be967c7afe10 Sept 2024pre-release

    Nothing published for this version

  41. v0.0.17-0.20240903123614-14b2c82364ae3 Sept 2024pre-release

    Nothing published for this version

  42. v0.0.1629 Jul 2024

    Nothing published for this version

  43. v0.0.16-0.20240705103626-94581a4a38125 Jul 2024pre-release

    Nothing published for this version

  44. v0.0.155 Jul 2024

    Nothing published for this version

  45. v0.0.15-0.20240523144734-6b38db77909423 May 2024pre-release

    Nothing published for this version

  46. v0.0.15-0.20240514135733-6503bbb4a65114 May 2024pre-release

    Nothing published for this version

  47. v0.0.15-0.20240402165757-226bb01d82ca2 Apr 2024pre-release

    Nothing published for this version

  48. v0.0.15-0.20240328145451-55d949eb106728 Mar 2024pre-release

    Nothing published for this version

  49. v0.0.1428 Mar 2024

    Nothing published for this version

  50. v0.0.14-0.20240318125651-c2e81d8c832918 Mar 2024pre-release

    Nothing published for this version

  51. v0.0.14-0.20240228093851-87ca93ba55ef28 Feb 2024pre-release

    Nothing published for this version

  52. v0.0.14-0.20240226160605-df39311404d526 Feb 2024pre-release

    Nothing published for this version

  53. v0.0.14-0.20240209152819-cacc4860412e9 Feb 2024pre-release

    Nothing published for this version

  54. v0.0.14-0.20240202164921-568d40e9e7f62 Feb 2024pre-release

    Nothing published for this version

  55. v0.0.14-0.20240202164101-90a0d330a8622 Feb 2024pre-release

    Nothing published for this version

  56. v0.0.132 Feb 2024

    Nothing published for this version

  57. v0.0.13-0.20240201191053-b1a5e24862dc1 Feb 2024pre-release

    Nothing published for this version

  58. v0.0.13-0.20240117122901-d6daf9e0eb7117 Jan 2024pre-release

    Nothing published for this version

  59. v0.0.13-0.20231212191631-1d97a47e471b12 Dec 2023pre-release

    Nothing published for this version

  60. v0.0.13-0.20231207102442-9f91611e91d57 Dec 2023pre-release

    Nothing published for this version