Skip to content

Releases: fluxcd/flux2

v0.40.0

20 Feb 14:47
v0.40.0
2cac6ce
Compare
Choose a tag to compare

Highlights

Flux v0.40.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes

Image Automation

The image-reflector-controller autologin flags have been deprecated and are no longer used.
Please see the new API specification and migration instructions in the controller changelog.

Notifications

The source revision format reported by the Flux controllers has changed according to RFC-0005.
The events referring to Git repositories, will report the revision in the format <branch|tag>@sha1:<commit> instead of <branch|tag>/<commit>.
For more details please see the source-controller changelog.

OCI artifacts

The OCI artifacts produced with flux push artifact have now custom media types:

  • artifact media type application/vnd.oci.image.manifest.v1+json
  • config media type application/vnd.cncf.flux.config.v1+json
  • content media type application/vnd.cncf.flux.content.v1.tar+gzip

Features and improvements

  • The GitRepository API has a new optional field .spec.ref.name for specifying a Git Reference.
    This allows Flux to reconcile resources from GitHub Pull Requests (refs/pull/<id>/head) and GitLab Merge Requests (refs/merge-requests/<id>/head).
  • The ImageRepository and ImagePolicy APIs have been promoted to v1beta2.
  • Allow specifying the cloud provider contextual login for container registries with ImageRepository.spec.provider.
  • Improve observability of ImageRepository by showing the latest scanned tags under .status.lastScanResult.latestTags.
  • Improve observability of ImagePolicy by reporting the current and previous image tag in status and events.
  • The Kubernetes builtin cluster roles: view, edit and admin have been extended to allow access to Flux custom resources.
  • Print a report of Flux custom resources and the amount of cumulative storage used for each source type with flux stats -A.

New Documentation

Components changelog

CLI Changelog

v0.39.0

02 Feb 16:02
v0.39.0
978cc0c
Compare
Choose a tag to compare

Highlights

Flux v0.39.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Starting with this version, the Flux controllers come with SBOMs and SLSA Provenance Attestations embedded in their container images.

The Flux Terraform Provider has a new resource for bootstrapping Flux, without depending on third-party Terraform providers, that allows customising the controllers at install time. Users are encouraged to migrate to this new resources and provide feedback.

The Flux CLI is now included in Wolfi OS, the Linux (Un)distro designed for securing the software supply chain. The Chainguard team and Wolfi maintainers are shipping updates for the Flux package on a regular basis.

Features and improvements

  • Recreate immutable resources (e.g. Kubernetes Jobs) by annotating or labeling them with kustomize.toolkit.fluxcd.io/force: enabled.
  • Support for HTTPS bearer token authentication for Git repositories.
  • Improve memory usage by disabling the caching of Secret and ConfigMap resources in all controllers.
  • Better observability with progressive status updates for Sources (Git, OCI, Helm, S3 Buckets).
  • Allow extracting the OCI artifact SHA256 digest for Cosign with flux push artifact -o json.
  • Track CRDs managed by Flux, flux trace and flux tree will show which HelmRelease deployed which CRDs.
  • Allow the Flux GitHub Action to use a GitHub token when checking for updates to avoid rate limiting.

New documentation

Components changelog

CLI Changelog

  • PR #3550 - @stefanprodan - flux tree: Set CRDs GroupKind in output
  • PR #3549 - @stefanprodan - flux tree: Track CRDs managed by HelmReleases
  • PR #3545 - @fluxcdbot - Update toolkit components
  • PR #3542 - @stefanprodan - flux tree: Add namespaces to objects reconciled from HRs
  • PR #3540 - @stefanprodan - Add json/yaml output to flux push artifact
  • PR #3537 - @stefanprodan - Update dependencies to Kubernetes v1.26.1
  • PR #3532 - @stefanprodan - Update Alpine to v3.17 and kubectl to v1.26.1 in flux-cli image
  • PR #3531 - @makkes - fix misleading messaging when using -A flag
  • PR #3529 - @dependabot[bot] - build(deps): bump docker/setup-buildx-action from 2.2.1 to 2.4.0
  • PR #3526 - @dependabot[bot] - Bump anchore/sbom-action from 0.13.1 to 0.13.3
  • PR #3525 - @dependabot[bot] - Bump github/codeql-action from 2.1.38 to 2.2.1
  • PR #3524 - @dependabot[bot] - Bump goreleaser/goreleaser-action from 4.1.0 to 4.1.1
  • PR #3517 - @jooooel - Fix broken GitHub Action and handle case where VERSION is provided as an input
  • PR #3507 - @thezanke - Update prometheus-community helm repo due to the suspension of OCI builds
  • PR #3501 - @kingdonb - Add GITHUB_TOKEN to Flux GitHub Action
  • PR #3488 - @dependabot[bot] - Bump snyk/actions from 1cc9026f51d822442cb4b872d8d7ead8cc69a018 to e25b2e6f5658d1bb7a6671b113260f13134cc3af
  • PR #3487 - @dependabot[bot] - Bump actions/cache from 3.2.2 to 3.2.3
  • PR #3486 - @dependabot[bot] - Bump github/codeql-action from 2.1.37 to 2.1.38
  • PR #3477 - @raffis - fix(install-script): support $GITHUB_TOKEN

v0.38.3

10 Jan 16:10
a9f53b4
Compare
Choose a tag to compare

Highlights

Flux v0.38.3 is a patch release that comes with fixes and small improvements to the CLI.
Users are encouraged to upgrade for the best experience.

CLI Changelog

v0.38.2

22 Dec 14:10
v0.38.2
f58b82f
Compare
Choose a tag to compare

Flux v0.38.2 is a patch release that comes with fixes for the Notification API v1beta1 to v1beta2 upgrade.
In addition, this release improves the handling of the graceful shutdown for helm-controller.
Users are encouraged to update Flux directly to v0.38.2 for the best experience.

Components changelog

CLI Changelog

v0.38.1

21 Dec 15:51
v0.38.1
12e065c
Compare
Choose a tag to compare

Flux v0.38.1 is a patch release that comes with fixes for the Notification API v1beta1 to v1beta2 upgrade.
Users are encouraged to update Flux directly to v0.38.1 for the best experience.

Changelog

v0.38.0

21 Dec 12:32
v0.38.0
b2b610b
Compare
Choose a tag to compare

Highlights

Flux v0.38.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Notification API v1beta2

This release graduates the Notification APIs to v1beta2. After upgrading the controllers on your clusters, you need to update the notification Custom Resources in Git by replacing notification.toolkit.fluxcd.io/v1beta1 with notification.toolkit.fluxcd.io/v1beta2 in all YAML manifests.

Breaking changes

  • The Alert.spec.summary has a max length of 255 characters.
  • The Provider.spec.address and Provider.spec.proxy have a max length of 2048 characters.
  • The Receiver.status.url was deprecated in favour of Receiver.status.webhookPath.

For more details about v1beta2 please see the notification-controller chagelog and the API spec documentation.

Features and improvements

  • Support for defining Kustomize components with Kustomization.spec.components.
  • Support for piping multi-doc YAMLs when publishing OCI artifacts with kustomize build . | flux push artifact --path=-.
  • Support for Gitea commit status updates with Provider.spec.type set to gitea.
  • Improve the memory usage of helm-controller by disabling the caching of Secret and ConfigMap resources.
  • Update the Helm SDK to v3.10.3 (fix for Helm CVEs).
  • All code references to libgit2 were removed, and the GitRepository.spec.gitImplementation field is no longer being honored.

Documentation improvements

The official example repository was refactored. The new version comes with the following improvements:

  • Make the example compatible with ARM64 Kubernetes clusters.
  • Add Weave GitOps Helm release to showcase the Flux UI.
  • Replace the ingress-nginx Bitnami chart with the official one that contains multi-arch container images.
  • Add cert-manager Helm release to showcase how to install CRDs and custom resources using dependsOn.
  • Add Let's Encrypt ClusterIssuer to showcase how to patch resources in production with Flux Kustomization.
  • Add the flux-system overlay to showcase how to configure Flux at bootstrap time.

Components changelog

CLI Changelog

v0.37.0

22 Nov 17:28
v0.37.0
8674f31
Compare
Choose a tag to compare

Highlights

Flux v0.37.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes

Deprecation of gitImplementation

The interpretation of the gitImplementation field of GitRepository by source-controller and image-automation-controller has been deprecated, and will effectively always use go-git. This now supports all Git servers, including Azure DevOps and AWS CodeCommit, which previously were only supported by libgit2.

To opt-out from this behaviour, and get the controller to honour the field .spec.gitImplementation, start the controller with: --feature-gates=ForceGoGitImplementation=false.

For more information on this change, refer to the controllers's respective changelogs listed below.

Automatic force-push of ImageUpdateAutomation

Starting from this version, ImageUpdateAutomation objects with a .spec.PushBranch specified will have the push branch refreshed automatically via force push. To opt-out from this behaviour, start the controller with: --feature-gates=GitForcePushBranch=false.

Features and improvements

  • Support for bootstrapping Azure DevOps and AWS CodeCommit repositories using flux bootstrap git.
  • Support cloning of Git v2 protocol (Azure DevOps and AWS CodeCommit) for go-git Git provider.
  • Support force-pushing ImageUpdateAutomation repositories.
  • Allow a dry-run of flux build kustomization with --dry-run and --kustomization-file ./path/to/local/my-app.yaml. Using these flags, variable substitutions from Secrets and ConfigMaps are skipped, and no connection to the cluster is made.
  • Use signed OCI Helm chart for kube-prometheus-stack.

New documentation

Components changelog

CLI Changelog

v0.36.0

24 Oct 10:03
v0.36.0
6d110cd
Compare
Choose a tag to compare

Highlights

Flux v0.36.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Features and improvements

  • Verify OCI Helm charts signed by Cosign (including keyless) with HelmChart.spec.verify.
  • Allow publishing a single YAML file to OCI with flux push artifact <URL> --path=deploy/install.yaml.
  • Detect changes to local files before pushing to OCI with flux diff artifact <URL> --path=<local files>.
  • New Alert Provider type named generic-hmac for authenticating the webhook requests coming from notification-controller.
  • The Kustomization.status.conditions have been aligned with Kubernetes standard conditions and kstatus.
  • The kustomize-controller memory usage was reduced by 90% when performing artifact operations.

New documentation

Components changelog

CLI Changelog

v0.35.0

29 Sep 18:47
v0.35.0
1bf63a9
Compare
Choose a tag to compare

Highlights

Flux v0.35.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes

Strict validation rules have been put in place for API fields which define a time duration, such as .spec.interval. Effectively, this means values without a time unit (e.g. ms, s, m, h) will now be rejected by the API server.

Features and improvements

  • Verify OCI artifacts signed by Cosign (including keyless) with OCIRepository.spec.verify.
  • Allow pulling Helm charts dependencies from HTTPS repositories with mixed self-signed TLS and public CAs.
  • Allow pulling Helm charts from OCI artifacts stored at the root of AWS ECR.
  • Allow running bootstrap for insecure HTTP Git servers with flux bootstrap git --allow-insecure-http --token-auth.
  • Improve health checking for global objects such as ClusterClass, GatewayClass, StorageClass, etc.
  • The controllers and the Flux CLI are now built with Go 1.19.

For more information on OCI and Cosign support please see the Flux documentation.

Components changelog

CLI Changelog

v0.34.0

12 Sep 14:37
v0.34.0
90f0d81
Compare
Choose a tag to compare

Highlights

Flux v0.34.0 comes with new features and improvements. Users are encouraged to upgrade for the best experience.

Breaking changes

The Flux controller logs have been aligned with the Kubernetes structured logging.
For more details on the new logging structure please see: fluxcd/flux2#3051.

Features and improvements

  • OCIRepository.spec.insecure Allow pulling artifacts from an in-cluster Docker Registry over plain HTTP.
  • Allow defining OCI sources for non-TLS container registries with flux create source oci --insecure.
  • Enable contextual login when publishing OCI artifacts from a Cloud VM using flux push artifact --provider=aws|azure|gcp.
  • Prioritise static credentials over OIDC providers when pulling OCI artifacts from container registries on multi-tenant cluster.
  • Reconcile Kubernetes Class types (ClusterClass, GatewayClass, StorageClass, etc) in a dedicated stage before any other custom resources like Clusters, Gateways, Volumes, etc.
  • When multiple SOPS providers are available, run the offline decryption methods first to avoid failures due to KMS unavailability.
  • Add finalizers to the notification API to properly record the reconciliation metrics for deleted resources.
  • Publish the Flux install manifests as OCI artifacts on GitHub and DockerHub container registries under fluxcd/flux-manifests.

Components Changelog

CLI Changelog