K6 Operator Versions Save

An operator for running distributed k6 tests.

v0.0.14

1 month ago

✨ New features

With the assistance of k6-core team, there's now support of options.cloud. 373. See more on this option in the latest k6 release notes.

PrivateLoadZone CR will now be registered with generated UID, 360. This improvement shall help to distinguish PLZs with the same name on different clusters.

initContainers can be additionally specified for Initializer job, unlocking a more complex logic of preparing the setup, etc. 379. Thanks, @FloGro3!

📦 Helm

We are aiming to improve release process for Helm with 372.

🪛 Maintenance

There has been some ongoing maintenance, including update of kube-rbac-proxy v0.15.0. 378.

And for PrivateLoadZone users, we now have a documentation explaining what is happening under the hood.

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.13...v0.0.14

v0.0.13

3 months ago

✨ New features

TestRun CRD continues to grow and now there's support for the following features:

  • envFrom for initializer. 351. Thanks, @ghostx31!
  • containerSecurityContext for any Pod. 345. Thanks, @llaszkie!

There has been an initial implementation to support run-once setup and teardown: right now it is supported only for PrivateLoadZone test runs. It is still planned to support this feature for all kind of tests but perhaps with the help of native distribution in k6.

📦 Helm

Helm support is improving:

  • Addition ofimagePullSecrets, serviceAccountName bug fix and overrides via global options all at once in 363. Thanks, @marshallford!
  • All CRDs are now up-to-date. 364.

🐛 Bug hunting

Cloud output v2 became default in k6, and k6-operator is following suit: it is now turned on by default for PrivateLoadZone test runs. 356.

Handling of errors on duplicate jobs has been failing in some hard-to-repeat cases. 365, 367.

🪛 Maintenance

Dockerfiles are more precise and generalized now. 237. Thanks @dkhachyan!

k6 Golang dependency updated to v0.48. 359.

Last but not least, the first ever Troubleshooting guide has been added to internal documentation :tada:

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.12...v0.0.13

v0.0.13rc1

4 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.12...v0.0.13rc1

v0.0.12

5 months ago

:sparkles: New features

PrivateLoadZone flow has been improved by addition of k6 Cloud events in 283. As part of that work, handling of some common error scenarios has also been added, for now limited to k6 Cloud test runs (PrivateLoadZone and cloud output). This work will be further iterated on in the future.

The long-awaited removal of DNS restriction (svc.cluster.local suffix) has been implemented via switch to ClusterIP. Thanks, @CarlJi!

TestRun CRD now allows topologySpreadConstraints as part of any Job configuration. Thanks, @aslafy-z!

:package: Helm

With the help of our contributors, we continue to polish and improve our Helm chart:

  • podLabels can be configured in Helm chart. Thanks, @MarkDPierce!
  • replicas for manager Deployment can be configured in Helm chart. Thanks, @josh-ferrell!
  • installCRDs is now also an option in Helm chart. Thanks, @illrill!
  • ServiceMonitor is deployed in the same namespace as the rest of resources, fixing the issue with prometheus.enabled option. Thanks, @edwintye!

:screwdriver: Maintenance

controller-gen used to build k6-operator images was updated to v0.13.0 in 325.

There has been a lot of small improvement going on around CI workflows. As part of Hacktoberfest, @u5surf worked on adding Golang linting; thanks!

Docs improvements are relatively small but ongoing. Thanks, @aslafy-z!

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.11...v0.0.12

v0.0.12rc1

6 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.11...v0.0.12rc1

v0.0.11

6 months ago

:sparkles: New features

Helm support is finally here! Many thanks to @knmsk and everyone for the incredible work in #98.

At the moment, installation or upgrade of Helm chart require cloning k6-operator repo and installing from local folder ./charts. We are actively looking into publishing Helm release to Grafana repo.

Cloud output in k6-operator has been set to use a new and much improved v2 protocol by default (#272). There is a leftover decoding of v1 protocol in k6-operator, to smooth out the transition, but it will be removed in the next release.

TestRun CRD has been added as a duplicate of K6 CRD. TestRun has exactly the same interface, API and logic as K6 CRD (#286). The goal here is to improve UX of our APIs and to avoid confusion around CRDs, given our recent work on PrivateLoadZone feature and addition of PrivateLoadZone CRD.

:warning: K6 CRD will be removed in favor of TestRun CRD in the future. Please switch to using TestRun!

:warning: Breaking changes

Node selector is now properly defined as nodeSelector instead of nodeselector (#274). Thanks, @JorTurFer!

:bug: Bug hunting

PrivateLoadZone CRD is now deleted properly upon deletion of the resource, without leaving ghosts behind (#282).

:screwdriver: Maintenance

Update of Golang to 1.19 and update of Golang dependencies happened in #308, including update of controller-runtime to v0.16.2.

There has been quite a bit of work happenning to improve our CI workflows. Part of it is related to Helm feature addition, but it is also a preparation to the refactoring work planned for the next releases. Thanks, @u5surf for helping with it (#313)!

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.10...v0.0.11

v0.0.11rc3

7 months ago

:warning: Future deprecation

K6 CRD is going to be deprecated in favor of TestRun CRD. The behaviour of both should be identical for now, but it is strongly recommended to switch to TestRun CRD in your workflows as K6 CRD will be removed in the future.

What's Changed

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.11rc2...v0.0.11rc3

v0.0.11rc2

7 months ago

Helm chart is included starting this RC :tada:

What's Changed

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.11rc1...v0.0.11rc2

v0.0.11rc1

8 months ago

:warning: Breaking change

This RC contains a breaking change with rename of the field in K6 API: from nodeselector to nodeSelector in https://github.com/grafana/k6-operator/pull/274. It is part of improvement of k6-operator UX as well as preparation before Helm chart addition and rename of K6 CRD itself.

What's Changed

New Contributors

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.10...v0.0.11rc1

v0.0.10

8 months ago

:warning: Breaking Changes

As was mentioned in v0.0.10rc3, since PR #247 all images are built as part of k6-operator Github package.

The old images and releases continue to be available as part of operator package. But it is highly recommended to re-deploy with the new, k6-operator package image, in order to receive the latest updates and releases.

:sparkles: New Features

Watch namespaces are now configurable. Thanks, @dkhachyan!

Readiness and liveness probes can be configured as part of K6 spec, since #230. Thanks, @0xF0D0!

Cloud output in k6-operator is now more performant thanks to metrics aggregation options, added in #229. Additionally, default name of test runs in cloud output has become consistent with other k6 Cloud test runs in #248.

The long-awaited init containers are supported by k6-operator now :tada: Thanks to @ivanape and @andrei-trandafir! PR #184 and #249. See examples here and here.

A new CRD named PrivateLoadZone has been added in #238 and #239. It is a feature for k6 Cloud users as well as a new type of test run in k6-operator.

Last but not least, k6-operator has been equipped with bundle.yaml to support a simpler method of installation with kubectl apply in #257. See the relevant docs for details.

:bug: Bugs

A bug with nonexistent folder was fixed in #243. Thanks, @vukor!

There was also a couple of important fixes of operator-sdk auto generation, in #217. Thanks, @dkhachyan!

:wrench: Maintenance

Dependency updates in this release:

  • kubebuilder-tools-version update. Thanks, @lplazas!
  • k6 Golang package updated to 0.45.1.

Our docs has been seeing more improvements too:

  • Syntax and highlighting was imrpoved in #244 and #245. Thanks, @agilgur5!
  • Example with extensions update in #246.
  • Instructions for bundle installation in #259.

On a related note, our guide for distributed tests has landed in official k6 Docs!

Full Changelog: https://github.com/grafana/k6-operator/compare/v0.0.9...v0.0.10