github fluxcd/flux2 v2.0.0-rc.1

latest releases: v2.3.0, v2.2.3, v2.2.2...
17 months ago

Highlights

This is the first release candidate of Flux v2.0 GA 🎉. Users are encouraged to upgrade for the best experience.

Flux v2.0.0-rc.1 comes with the promotion of the GitOps related APIs to v1 and adds horizontal scaling & sharding capabilities to Flux controllers.

In addition, RC.1 comes with support for auth with Azure Workload Identity when pulling OCI artifacts from ACR and when decrypting secret with Azure Vault. Also, Bootstrap for GitLab was extended with support for generating GitLab Deploy Tokens.

❤️ Big thanks to all the Flux contributors that helped us with this release!
👏 And a special shoutout to the GitLab team for their first contribution to Flux!

API changes

GitRepository v1

The GitRepository kind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.

The v1 API is backwards compatible with v1beta2, except for the following:

  • the deprecated field .spec.gitImplementation was removed
  • the unused field .spec.accessFrom was removed
  • the deprecated field .status.contentConfigChecksum was removed
  • the deprecated field .status.artifact.checksum was removed
  • the .status.url was removed in favor of the absolute .status.artifact.url

Kustomization v1

The Kustomization kind was promoted from v1beta2 to v1 (GA) and deprecated fields were removed.

A new optional field .spec.commonMetadata was added to the API for setting labels and/or annotations to all resources part of a Kustomization.

The v1 API is backwards compatible with v1beta2, except for the following:

  • the deprecated field .spec.validation was removed
  • the deprecated field .spec.patchesStrategicMerge was removed (replaced by .spec.patches)
  • the deprecated field .spec.patchesJson6902 was removed (replaced by .spec.patches)

Receiver v1

The Receiver kind was promoted from v1beta2 to v1 (GA).

The v1 API now supports triggering the reconciliation of multiple resources using .spec.resources.matchLabels.

The v1 API is backwards compatible with v1beta2, no fields were removed.

Upgrade procedure

Upgrade Flux from v0.x to v2.0.0-rc-1 either by rerunning flux bootstrap or by using the Flux GitHub Action.

To upgrade the APIs from v1beta2, after deploying the new CRDs and controllers, change the manifests in Git:

  • set apiVersion: source.toolkit.fluxcd.io/v1 in the YAML files that contain GitRepository definitions and remove the deprecated fields if any
  • set apiVersion: kustomize.toolkit.fluxcd.io/v1 in the YAML files that contain Kustomization definitions and remove the deprecated fields if any
  • set apiVersion: notification.toolkit.fluxcd.io/v1 in the YAML files that contain Receiver definitions

Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the beta
versions will be removed after 6 months.

⚠️ Note that this release updates the major version of the Flux Go Module to v2. Please update your go.mod to require github.com/fluxcd/flux2/v2, see pkg.go.dev for the documentation of the module.

New Documentation

Components changelog

CLI Changelog

  • PR #3763 - @souleb - Add the possibility to ignore files with build and diff Kustomization
  • PR #3758 - @stefanprodan - Release Flux v2.0.0-rc.1
  • PR #3762 - @dependabot[bot] - build(deps): bump github.com/docker/docker from 23.0.1 to 23.0.3
  • PR #3745 - @dependabot[bot] - build(deps): bump github/codeql-action from 2.2.8 to 2.2.9
  • PR #3744 - @dependabot[bot] - build(deps): bump anchore/sbom-action from 0.13.4 to 0.14.1
  • PR #3730 - @dependabot[bot] - build(deps): bump github/codeql-action from 2.2.7 to 2.2.8
  • PR #3729 - @dependabot[bot] - build(deps): bump actions/checkout from 3.4.0 to 3.5.0
  • PR #3728 - @dependabot[bot] - build(deps): bump anchore/sbom-action from 0.13.3 to 0.13.4
  • PR #3721 - @yiannistri - fix: Avoid printing an extra newline when exporting resources
  • PR #3717 - @dependabot[bot] - build(deps): bump google.golang.org/protobuf from 1.29.0 to 1.29.1

Don't miss a new flux2 release

NewReleases is sending notifications on new releases.