github grafana/k6-operator v1.7.0

2 hours ago

✨ New features

Each PrivateLoadZone test now gets a short-lived test run token (K6_CLOUD_TOKEN) from the Cloud, which is then used by k6 and k6-operator for all TestRun-level operations. This effectively enables two-level authentication scheme, an approach with hardened level of security for the PLZ users.

PLZ tests were switched to using Cloud API v6 notify endpoint. If k6 image of a PLZ test is of v2.3.0+ (contains this change), then there is also some tracking of k6 exit codes for more granular feedback loop. For example, teardown failures should now get separate error codes in case of a script-level error VS an operator-level errors. Full description can be found here.

Note: Cloud output mode continues to use the old Cloud APIs, so there's now a divergence between the two Cloud modes. It's currently tracked in the #668.

🐛 Bug fixes

A bug with duplicate execution of setup function (on PrivateLoadZone tests), that could happen on some cases like with slower Kubernetes API updates, was fixed. Thanks, @jsk1004ha!

A fix to make CI jobs more ubiquitous was added. Thanks, @federicotdn!

A fix for regression with IPv6: Golang 1.26 (first enabled in v1.6.0) imposes stricter rules on IPv6 routes parsing, which could cause failures on IPv6 clusters.

The readiness checks to k6 runners now have proper HTTP timeouts, disabling the possibility of an unresponsive k6 runner blocking the k6-operator execution indefinitely. Thanks, @jsk1004ha!

🛠️ Maintenance

An improvement for Cloud development to allow custom K6_LOG_OUTPUT value. Thanks @fornfrey!

The curl commands used by the starter were made more resilient to connectivity failures, esp. when runner pod takes a while to get into a working state. Thanks, @multani!

Key dependencies update:

  • k6 v2.3.0
  • controller-runtime v0.25.2
  • k8s.io/api v0.37.1

Full changelog: v1.6.0...v1.7.0

Don't miss a new k6-operator release

NewReleases is sending notifications on new releases.