flux2
v2.10.0Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
- Maintenance
- ActiveBased on the last push: commit history is not collected yet
- License
- Apache-2.0Permissive · OSI-approved
- Security
- 7 advisories2 critical, 4 high, 1 medium · Scorecard 9.4/10
- Supported versions
- 3 lines supportednewest 2.10 · oldest 2.8 · 9 ended
8.5k stars · 812 forks · 246 open issues · last release 20 days ago · data checked 4 hours ago
Supported versions
Source: endoflife.date| Line | Latest | Released | Security fixes |
|---|---|---|---|
| 2.10 | 2.10.0 | Oct 26, 2026 | Supported |
| 2.9 | 2.9.6 | Jun 30, 2026 | Supported |
| 2.8 | 2.8.8 | Feb 24, 2026 | Supported |
| 2.7 | 2.7.5 | Sep 30, 2025 | Ended Oct 26, 2026 |
| 2.6 | 2.6.4 | May 29, 2025 | Ended Jun 30, 2026 |
| 2.5 | 2.5.1 | Feb 20, 2025 | Ended Feb 24, 2026 |
| 2.4 | 2.4.0 | Sep 30, 2024 | Ended Sep 30, 2025 |
| 2.3 | 2.3.0 | May 13, 2024 | Ended May 29, 2025 |
| 2.2 | 2.2.3 | Dec 12, 2023 | Ended Feb 20, 2025 |
| 2.1 | 2.1.2 | Aug 24, 2023 | Ended Sep 30, 2024 |
| 2.0 | 2.0.1 | Jul 5, 2023 | Ended May 13, 2024 |
| 1.25 | 1.25.4 | Mar 30, 2022 | Ended Nov 2, 2022 |
Breaking changes
What to check before upgrading, taken from the notes of the last 30 releases.
- v2.10.0Oct 26, 2026
- ⚠️ Breaking changes in this release:
- ⚠️ Breaking change: Harden RBAC for controllers by @matheuscscp in https://github.com/fluxcd/flux2/pull/6139
Release history
All releases on GitHubHighlights
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
ObjectLevelWorkloadIdentityfeature gate is retired - SPIFFE mTLS for inter-controller communication
- Notification
Event,AlertandProviderAPIs promoted tov1 OCIRepositoryas a chart source forHelmRelease- 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
ImageRepositorytags - 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
createverb on theserviceaccounts/tokenresource. 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
AlertandProviderAPIs are promoted tov1. Converting av1beta3AlertorProvidertov1drops the deprecatedAlert.spec.summaryandProvider.spec.intervalfields, the static JWT token for Azure Event Hub, and TLS or proxy configuration inProvider.spec.secretRef. UseeventMetadata.summary,proxySecretRefandcertSecretRefinstead. - The Flux artifact storage backend is now the default for the
ImageRepositorytag database. Switching the gate wipes the local tag database, so the first reconciliation after the upgrade rescans everyImageRepository. Set--feature-gates=FluxStorage=falseto keep using BadgerDB. - Remote cluster authentication with
.spec.kubeConfig.configMapRefuses object identity; replace the legacyaudienceskey withcredential.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
- source-controller v1.10.1
- kustomize-controller v1.10.1
- notification-controller v1.10.0
- helm-controller v1.7.1
- image-reflector-controller v1.3.0
- image-automation-controller v1.3.0
- source-watcher v2.3.1
CLI changelog
- Add backport label for 2.9 by @matheuscscp in https://github.com/fluxcd/flux2/pull/5970
- Fix breaking change in-memory kustomization build by @matheuscscp in https://github.com/fluxcd/flux2/pull/5969
- Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5976
- Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5978
- Add checksum verification for SOPS in e2e workflows by @ivonaest in https://github.com/fluxcd/flux2/pull/5961
- Add --add-ignore-paths flag to artifact commands by @ruslan-shaydullin in https://github.com/fluxcd/flux2/pull/5885
- Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5983
- Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5989
- Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/5993
- Include source-watcher to oci flux-manifests by @sergelogvinov in https://github.com/fluxcd/flux2/pull/5995
- docs: fix typo in RFC-0004 (enviornment -> environment) by @mridulagithub in https://github.com/fluxcd/flux2/pull/6002
- Update fluxcd/pkg dependencies by @fluxcdbot in https://github.com/fluxcd/flux2/pull/6005
- Update toolkit components by @fluxcdbot in https://github.com/fluxcd/flux2/pull/6010
- Add version-file input to the Flux CLI action by @somaz94 in https://github.com/fluxcd/flux2/pull/5975
- Add support for 2.9 in
migrate -fby @matheuscscp in https://github.com/fluxcd/flux2/pull/6020 - Fix Azure e2e tests after new major version with breaking changes by @matheuscscp in https://github.com/fluxcd/flux2/pull/6022
- fix: restrict
allow-webhooksnetpol to receiver port by @stefanprodan in https://github.com/fluxcd/flux2/pull/6028