Skip to content

Update dependency fluxcd/flux2 to v2.10.0 - #2765

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/fluxcd-flux2-2.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/fluxcd-flux2-2.x

Conversation

@renovate

@renovate renovate Bot commented Jun 27, 2025 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change
fluxcd/flux2 Kustomization minor v2.6.2 → v2.10.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

fluxcd/flux2

v2.10.0

Compare Source

Highlights

Flux v2.10.0 is a feature release. Users are encouraged to upgrade for the best experience.

Overview of the new features:

  • Object identity is generally available; the ObjectLevelWorkloadIdentity feature gate is retired
  • SPIFFE mTLS for inter-controller communication
  • Notification Event, Alert and Provider APIs promoted to v1
  • OCIRepository as a chart source for HelmRelease
  • SOPS decryption for files encrypted with comment regexes, and --override-manager-before-dry-run (Kustomization)
  • Image update batching with .spec.policyChangeDelay, retry on rejected pushes, and .Changed.Summary (ImageUpdateAutomation)
  • Flux artifact storage backend enabled by default for ImageRepository tags
  • Cross-namespace artifacts, tenant namespace provisioning, and path-pattern discovery (ArtifactGenerator)
  • New Zoom, incident.io and Mastodon notification providers
  • Built with Kubernetes 1.37 and Go 1.27

❤️ Big thanks to all the Flux contributors that helped us with this release!

Kubernetes compatibility

This release is compatible with the following Kubernetes versions:

Kubernetes version Minimum required
v1.35 >= 1.35.2
v1.36 >= 1.36.1
v1.37 >= 1.37.0

[!NOTE]
Note that the Flux project offers support only for the latest three minor versions of Kubernetes.
Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as
ControlPlane that provide enterprise support for Flux.

OpenShift compatibility

Flux can be installed on Red Hat OpenShift cluster directly from OperatorHub using Flux Operator. The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.

Upgrade procedure

⚠️ Breaking changes in this release:

  • Object identity is always enabled and the default Flux RBAC no longer grants the create verb on the serviceaccounts/token resource. If your installation relies on the default RBAC, bind a ClusterRole with this permission to the controller ServiceAccount before upgrading. See fluxcd/flux2#6139 for the required ClusterRole and ClusterRoleBinding.
  • The notification Alert and Provider APIs are promoted to v1. Converting a v1beta3 Alert or Provider to v1 drops the deprecated Alert.spec.summary and Provider.spec.interval fields, the static JWT token for Azure Event Hub, and TLS or proxy configuration in Provider.spec.secretRef. Use eventMetadata.summary, proxySecretRef and certSecretRef instead.
  • The Flux artifact storage backend is now the default for the ImageRepository tag database. Switching the gate wipes the local tag database, so the first reconciliation after the upgrade rescans every ImageRepository. Set --feature-gates=FluxStorage=false to keep using BadgerDB.
  • Remote cluster authentication with .spec.kubeConfig.configMapRef uses object identity; replace the legacy audiences key with credential.auth.fluxcd.io/audiences.

Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from older versions of Flux to v2.10.

Components changelog
CLI changelog
New Contributors

Full Changelog: fluxcd/flux2@v2.9.6...v2.10.0

v2.9.6

Compare Source

Highlights

Flux v2.9.6 is a patch release that stops helm-controller from reapplying chart CRDs on every upgrade when server-side apply is enabled, and recovers HelmReleases left with a drifted Ready=Unknown condition after a failed status patch. source-controller normalizes Azure Blob listing ETags so unchanged containers are no longer re-downloaded on every reconcile, and evicts stale Helm repository index entries from the cache so repositories with frequently changing indexes no longer fail with "Cache is full". kustomize-controller extends SOPS decryption error redaction to spec.postBuild.substituteFrom values, so substituted secrets echoed back in API validation errors are masked out of status conditions and events, and adds the opt-in DisableCommitStatusEvent feature gate. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Stop reapplying chart CRDs on upgrades when using server-side apply with the default Create policy (helm-controller)
  • Recover HelmReleases stranded with a drifted Ready=Unknown condition after a failed status patch (helm-controller)
  • Ignore NotFound when deleting the HelmChart (helm-controller)
  • Normalize Azure Blob listing ETags so unchanged containers are not re-downloaded on every reconcile (source-controller)
  • Evict stale Helm repository index entries from the cache to avoid "Cache is full" errors (source-controller)
  • Extend SOPS decryption error redaction to spec.postBuild.substituteFrom values (kustomize-controller)

Improvements:

  • Add the opt-in DisableCommitStatusEvent feature gate (kustomize-controller)

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.5...v2.9.6

v2.9.5

Compare Source

Highlights

Flux v2.9.5 is a patch release that moves helm-controller and source-controller back to upstream Helm, now at v4.2.4, dropping the temporary Flux fork. It hardens the handling of kubeconfig Secrets in helm-controller and kustomize-controller, which now reject kubeconfigs referencing files on the local filesystem and require credentials and certificates to be embedded inline. It also stops kustomize-controller from leaving behind the temporary directories of a previous process that exited without running its cleanup, and fixes a crash in post-build substitution where a substring expression with a negative length, e.g. ${VAR:2:-1}, panicked instead of counting back from the end of the string like Bash does. Across all controllers and the CLI, the fluxcd/pkg dependencies have been updated, bringing Kubernetes to 1.36.4. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Validate kubeconfigs from .spec.kubeConfig Secrets, rejecting local file references in certificate-authority, tokenFile, client-certificate and client-key; credentials and certificates must be embedded inline (helm-controller, kustomize-controller)
  • Purge temporary directories at startup (kustomize-controller)
  • Fix panic on negative-length substring expressions in post-build substitution (kustomize-controller, flux CLI)

Improvements:

  • Move back to upstream Helm v4.2.4, dropping the Flux fork (helm-controller, source-controller)
  • Update fluxcd/pkg dependencies, which bring Kubernetes to 1.36.4 (all controllers, flux CLI)

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.4...v2.9.5

v2.9.4

Compare Source

Highlights

Flux v2.9.4 is a patch release that ships various fixes to the Flux controllers, covering source-watcher tarball extraction and glob expansion limits, the refspecs accepted by ImageUpdateAutomation, the HTTP request limits of the notification-controller servers, and Helm repository index loading, OCI chart digest pinning, Bucket error handling and GCS static authentication in source-controller. On the CLI side, flux migrate -f now supports migrating repositories to Flux 2.9. Users are encouraged to upgrade for the best experience.

Note that this release contains CRD schema changes for ArtifactGenerator and ImageUpdateAutomation; both CRDs must be updated along with the controllers.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Confine tarball extraction and bound glob expansion (source-watcher)
  • Disallow force-update and deletion via refspecs (image-automation-controller)
  • Unify HTTP server request limits (notification-controller)
  • Align Helm repository index loading with upstream Helm v4 (source-controller)
  • Improve error handling in Bucket reconciliation (source-controller)
  • Pin OCI chart verification by digest (source-controller)
  • Limit GCS static authentication to service account keys (source-controller)
  • Restrict the allow-webhooks network policy to the receiver port (flux CLI)

Improvements:

  • Add support for migrating repositories to 2.9 in flux migrate -f (flux CLI)
  • Update fluxcd/pkg dependencies, which align the ECR host detection with upstream (source-controller, image-reflector-controller, flux CLI)
  • Update Bitbucket Cloud receiver guidance (notification-controller)

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.3...v2.9.4

v2.9.3

Compare Source

Highlights

Flux v2.9.3 is a patch release. It fixes empty lines vanishing from rendered Helm chart manifests, HelmReleases being marked as tested when their Helm test hooks never ran, and spec.images entries that set only some image fields discarding the remaining fields already declared for the same image in the kustomization.yaml. The latter affects both kustomize-controller and the flux build|diff kustomization commands. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix empty lines vanishing from rendered chart manifests (helm-controller)
  • Fix HasBeenTested for all corner cases, where a release could be marked as tested although its Helm test hooks never ran (helm-controller)
  • Fix a spec.images entry setting only some of the image fields discarding the remaining fields already declared for the same image in the kustomization.yaml at spec.path, e.g. overriding only newName produced an untagged image reference (kustomize-controller, flux CLI)

Improvements:

  • Update fluxcd/pkg dependencies
  • Include source-watcher in the OCI flux-manifests artifact

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.2...v2.9.3

v2.9.2

Compare Source

Highlights

Flux v2.9.2 is a patch release. The main fix addresses a regression introduced in
v2.9.1 where a Kustomization with openapi.path pointing to a URL failed to
reconcile with failed to read OpenAPI schema. This release also corrects several
CRD field descriptions that contained inaccurate or leaked content. Users are
encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Fix a regression where a Kustomization with openapi.path pointing to a URL failed to reconcile with failed to read OpenAPI schema (kustomize-controller)
  • Fix the HelmChart CRD description for .status.url, which pointed users at BucketStatus.Artifact instead of HelmChartStatus.Artifact (source-controller)
  • Fix the ImageRepository CRD description for .status.observedExclusionList, which referred to spec.lastScanResult instead of status.lastScanResult (image-reflector-controller)
  • Fix the ImageUpdateAutomation CRD description for .status.observedSourceRevision, which had a stray Go struct declaration leaking into it (image-automation-controller)

Improvements:

  • Update fluxcd/pkg dependencies

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.1...v2.9.2

v2.9.1

Compare Source

Highlights

Flux v2.9.1 is a patch release. The main fix, applied across all controllers, disables Flux variable substitution on the Flux CRDs by annotating them with kustomize.toolkit.fluxcd.io/substitute: disabled, so that Kustomizations with post-build substitution enabled no longer corrupt the CRD schemas when they contain ${...} sequences. Users are encouraged to upgrade for the best experience.

ℹ️ Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from Flux v2.6 to the latest version.

Fixes:

  • Disable Flux variable substitution on all Flux CRDs, preventing post-build substitution from corrupting CRD schemas that contain ${...} sequences (all controllers)
  • Update SOPS dependency to fix .ini file decryption (kustomize-controller)
  • Fix a dry-run error where applying a resource with a strategic merge patch could fail with <resource> is invalid (kustomize-controller)
  • Fix a breaking change in the in-memory Kustomization build (Flux CLI)

Improvements:

  • Cache the registry authorization token during Notation verification, so it is fetched once per verification instead of once per request (source-controller)
  • Update fluxcd/pkg dependencies

Components changelog

CLI changelog

Full Changelog: fluxcd/flux2@v2.9.0...v2.9.1

v2.9.0

Compare Source

Highlights

Flux v2.9.0 is a feature release. Users are encouraged to upgrade for the best experience.

For a compressive overview of new features and API changes included in this release, please refer to the Announcing Flux 2.9 GA blog post.

Overview of the new features:

  • Flux CLI Plugin System with the Mirror and Schema plugins (flux plugin)
  • Server-Side Apply field ignore rules for fine-grained drift control (Kustomization)
  • SOPS decryption with the Age post-quantum cipher (Kustomization)
  • Kubernetes Workload Identity authentication for OpenBao and Vault (Kustomization)
  • Helm post-render strategies, including chart hooks support (HelmRelease)
  • Literal mode for Helm values references mirroring helm --set-literal (HelmRelease)
  • Allow empty kind in CEL health check expressions (Kustomization, HelmRelease)
  • Git commit signing and verification with SSH keys (GitRepository, ImageUpdateAutomation)
  • AWS CodeCommit authentication using Workload Identity (GitRepository)
  • Custom Sigstore trusted root for keyless verification in air-gapped environments (OCIRepository)
  • Path pattern directory discovery for monorepos (ArtifactGenerator)
  • Secret-less, OIDC-secured webhook Receivers (Receiver)

❤️ Big thanks to all the Flux contributors that helped us with this release!

Kubernetes compatibility

This release is compatible with the following Kubernetes versions:

Kubernetes version Minimum required
v1.34 >= 1.34.1
v1.35 >= 1.35.0
v1.36 >= 1.36.0

[!NOTE]
Note that the Flux project offers support only for the latest three minor versions of Kubernetes.
Backwards compatibility with older versions of Kubernetes and OpenShift is offered by vendors such as
ControlPlane that provide enterprise support for Flux.

OpenShift compatibility

Flux can be installed on Red Hat OpenShift cluster directly from OperatorHub using Flux Operator. The operator allows the configuration of Flux multi-tenancy lockdown, network policies, persistent storage, sharding, vertical scaling and the synchronization of the cluster state from Git repositories, OCI artifacts, and S3-compatible storage.

Upgrade procedure

⚠️ The Flux APIs image.toolkit.fluxcd.io/v1beta2 and notification.toolkit.fluxcd.io/v1beta2
have reached end-of-life and have been removed from the CRDs.

Please follow the Upgrade Procedure for Flux v2.7+ for a smooth upgrade from older versions of Flux to v2.9.

Components changelog

CLI changelog

[!IMPORTANT]
✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.6.3 chore(deps): update dependency fluxcd/flux2 to v2.6.4 Jul 8, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from dee4d7f to f4a7a20 Compare July 8, 2025 12:52
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from f4a7a20 to 755ff84 Compare August 10, 2025 13:04
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 755ff84 to 68e7abe Compare September 30, 2025 08:57
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.6.4 chore(deps): update dependency fluxcd/flux2 to v2.7.0 Sep 30, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 68e7abe to d4e94f1 Compare October 6, 2025 17:10
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.0 chore(deps): update dependency fluxcd/flux2 to v2.7.1 Oct 6, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from d4e94f1 to 5a2ce4b Compare October 8, 2025 18:56
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.1 chore(deps): update dependency fluxcd/flux2 to v2.7.2 Oct 8, 2025
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.2 chore(deps): update dependency fluxcd/flux2 to v2.7.3 Oct 28, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 5a2ce4b to 4c245c4 Compare October 28, 2025 22:04
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 4c245c4 to 63e8029 Compare November 19, 2025 18:11
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.3 chore(deps): update dependency fluxcd/flux2 to v2.7.4 Nov 24, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 63e8029 to 5a73374 Compare November 24, 2025 18:46
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.4 chore(deps): update dependency fluxcd/flux2 to v2.7.5 Nov 27, 2025
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 5a73374 to 74f9acb Compare November 27, 2025 15:57
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 74f9acb to b24fdfb Compare February 2, 2026 17:37
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from b24fdfb to c3c1f1a Compare March 1, 2026 14:23
@renovate renovate Bot changed the title chore(deps): update dependency fluxcd/flux2 to v2.7.5 Update dependency fluxcd/flux2 to v2.8.1 Mar 1, 2026
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.1 Update dependency fluxcd/flux2 to v2.8.2 Mar 12, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from c3c1f1a to 712d31f Compare March 12, 2026 17:10
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.2 Update dependency fluxcd/flux2 to v2.8.3 Mar 16, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 712d31f to d0a7267 Compare March 16, 2026 18:53
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.3 Update dependency fluxcd/flux2 to v2.8.4 Apr 7, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch 2 times, most recently from 356e181 to 1abbf77 Compare April 7, 2026 21:11
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.4 Update dependency fluxcd/flux2 to v2.8.5 Apr 7, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 1abbf77 to eb44001 Compare April 21, 2026 13:27
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.5 Update dependency fluxcd/flux2 to v2.8.6 Apr 21, 2026
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.6 Update dependency fluxcd/flux2 to v2.8.7 May 12, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from eb44001 to e3fcc54 Compare May 12, 2026 17:15
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.7 Update dependency fluxcd/flux2 to v2.8.8 May 20, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from e3fcc54 to d1c8832 Compare May 20, 2026 15:02
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from d1c8832 to 5617669 Compare July 26, 2026 01:53
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.8.8 Update dependency fluxcd/flux2 to v2.9.3 Jul 26, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 5617669 to 3466fea Compare August 7, 2026 17:38
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.9.3 Update dependency fluxcd/flux2 to v2.9.4 Aug 7, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 3466fea to ba2e96c Compare August 31, 2026 18:58
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.9.4 Update dependency fluxcd/flux2 to v2.9.5 Aug 31, 2026
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.9.5 Update dependency fluxcd/flux2 to v2.9.6 Oct 10, 2026
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from ba2e96c to 79ebd4e Compare October 10, 2026 22:16
@renovate
renovate Bot force-pushed the renovate/fluxcd-flux2-2.x branch from 79ebd4e to ada622d Compare October 26, 2026 18:49
@renovate renovate Bot changed the title Update dependency fluxcd/flux2 to v2.9.6 Update dependency fluxcd/flux2 to v2.10.0 Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants