Update dependency fluxcd/flux2 to v2 #583
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.41.2
->v2.4.0
Release Notes
fluxcd/flux2 (fluxcd/flux2)
v2.4.0
Compare Source
Highlights
Flux v2.4.0 is a feature release. Users are encouraged to upgrade for the best experience.
For a comprehensive overview of new features and API changes included in this release, please refer to the Announcing Flux 2.4 GA blog post.
This release marks the General Availability (GA) of Flux Bucket API. The
Bucket
v1 API comes with new features including: proxy support, mTLS and custom STS configuration for AWS S3 and MinIO LDAP authentication.The
GitRepository
v1 API gains support for OIDC authentication. Starting with this version, you can authenticate against Azure DevOps repositories using AKS Workload Identity.The
OCIRepository
v1beta2 API gains support for proxy configuration thus allowing dedicated HTTP/S Proxy authentication on multi-tenant Kubernetes clusters.The
HelmRelease
v2 API gains support for disabling JSON schema validation of the Helm release values during installation and upgrade. And allows adopting existing Kubernetes resources during Helm release installation.The Flux controllers are now built with Go 1.23 and their dependencies have been updated to Kubernetes 1.31, Helm 3.16, SOPS 3.9 Cosign 2.4 and Notation 1.2.
❤️ Big thanks to all the Flux contributors that helped us with this release!
Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.29
>= 1.29.0
v1.30
>= 1.30.0
v1.31
>= 1.31.0
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.
API changes
Bucket v1
The Bucket kind was promoted from v1beta2 to v1 (GA).
The v1 API is backwards compatible with v1beta2.
New fields:
.spec.proxySecretRef
allows configuring HTTP/S Proxy authentication for the S3-compatible storage service..spec.certSecretRef
allows custom TLS client certificate and CA for secure communication with the S3-compatible storage service..spec.sts
allows custom STS configuration for AWS S3 and MinIO LDAP authentication.GitRepository v1
The GitRepository kind gains new optional fields with no breaking changes.
New fields:
.spec.provider
allows specifying an OIDC provider used for authentication purposes. Currently, only theazure
provider is supported.OCIRepository v1beta2
The OCIRepository kind gains new optional fields with no breaking changes.
New fields:
.spec.proxySecretRef
allows configuring HTTP/S Proxy authentication for the container registry service.HelmRelease v2
The HelmRelease kind gains new optional fields with no breaking changes.
New fields:
.spec.install.disableSchemaValidation
allows disabling the JSON schema validation of the Helm release values during installation..spec.upgrade.disableSchemaValidation
allows disabling the JSON schema validation of the Helm release values during upgrade.Upgrade procedure
Upgrade Flux from
v2.3.0
tov2.4.0
either by rerunning bootstrap or by using the Flux GitHub Action.To upgrade the APIs, make sure the new CRDs and controllers are deployed, and then change the manifests in Git:
apiVersion: source.toolkit.fluxcd.io/v1
in the YAML files that containBucket
definitions.Bumping the APIs version in manifests can be done gradually.
It is advised to not delay this procedure as the deprecated versions will be removed after 6 months.
Components changelog
New Documentation
CLI Changelog
flux create secret
flux create secret proxy
command--proxy-secret-ref
toflux create source
commandsbucket
commands to GA--provider
flag toflux create source git
part-of
label to controllers basev2.3.0
Compare Source
Highlights
Flux v2.3.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.3 GA blog post.
This release marks the General Availability (GA) of Flux Helm features and APIs, including helm-controller, the
HelmRelease
,HelmChart
, andHelmRepository
APIs.The
HelmRepository
v2 API comes with new features, such as the ability to reference Helm charts fromOCIRepository
sources, reuse existingHelmChart
resources, and verify the integrity of Helm chart artifacts signed with Notary Notation.❤️ Big thanks to all the Flux contributors that helped us with this release!
Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.28
>= 1.28.0
v1.29
>= 1.29.0
v1.30
>= 1.30.0
API changes
HelmRelease v2
The HelmRelease kind was promoted from v2beta2 to v2 (GA).
The v2 API is backwards compatible with v2beta2, with the exception of the deprecated fields which have been removed.
Removed fields:
.spec.chart.spec.valuesFile
replaced by.spec.chart.spec.valuesFiles
..spec.postRenderers.kustomize.patchesJson6902
replaced by.spec.postRenderers.kustomize.patches
..spec.postRenderers.kustomize.patchesStrategicMerge
replaced by.spec.postRenderers.kustomize.patches
..status.lastAppliedRevision
replaced by.status.history.chartVersion
.New fields:
.spec.chartRef
allows referencing chart artifacts fromOCIRepository
andHelmChart
objects..spec.chart.spec.ignoreMissingValuesFiles
allows ignoring missing values files instead of failing to reconcile.HelmChart v1
The HelmChart kind was promoted from v1beta2 to v1 (GA).
The v1 API is backwards compatible with v1beta2, with the exception of the deprecated fields which have been removed.
Removed fields:
.spec.valuesFile
replaced by.spec.chart.valuesFiles
.New fields:
.spec.ignoreMissingValuesFiles
allows ignoring missing values files instead of failing to reconcile..spec.verify.provider: notation
verify the signature of a Helm OCI artifacts using Notation trust policy and CA certificate.HelmRepository v1
The HelmRepository kind was promoted from v1beta2 to v1 (GA).
The v1 API is backwards compatible with v1beta2.
OCIRepository v1beta2
The OCIRepository kind gains new optional fields with no breaking changes.
New fields:
.spec.ref.semverFilter
allows filtering the tags based on regular expressions before applying the semver range..spec.verify.provider: notation
verify the signature of OCI artifacts using Notation trust policy and CA certificate.Kustomization v1
The Flux Kustomization kind gains new optional fields with no breaking changes.
New fields:
.spec.namePrefix
allows setting a name prefix for the generated resources..spec.nameSuffix
allows setting a name suffix for the generated resources.ImageUpdateAutomation v1beta2
The ImageUpdateAutomation kind was promoted from v1beta1 to v1beta2.
The v1beta2 API is backwards compatible with v1beta1.
Deprecated fields:
Updated
template data has been deprecated in favour ofChanged
that is designed to accommodate for all the types of updates made.New fields:
.spec.policySelector
allows filteringImagePolicy
based on labels.Receiver v1
The Receiver kind gains new optional fields with no breaking changes.
New fields:
.spec.type: cdevents
allows receiving, validating and filtering of CDEvents.Upgrade procedure
Upgrade Flux from
v2.x
tov2.3.0
either by rerunning bootstrap or by using the Flux GitHub Action.For more details, please refer to the upgrade guide from the Announcing Flux 2.3 GA blog post.
Components changelog
New Documentation
CLI Changelog
HelmRelease
API to v2 (GA)(create|delete|export) source chart
commands--reproducible
flag toflux push artifact
flux reconcile
andflux create
--ssh-hostkey-algos
flag to bootstrap commandGOMAXPROCS
andGOMEMLIMIT
to all Flux controllersflux envsubst
command--strict-substitute
flag toflux build ks
andflux diff ks
--registry-creds
flag to bootstrap and install commandsImageUpdateAutomation
API to v1beta2--force
flag descriptionflux check
should error on unrecognised argsflux stats
should error on unrecognised argsv2.2.3
Compare Source
Highlights
Flux v2.2.3 is a patch release which comes with various fixes and improvements. Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
This release updates the Kubernetes dependencies to v1.28.6 and various other dependencies to their latest version to patch upstream CVEs.
All controllers are built with Go 1.21.6 using Alpine Linux 3.19.1 base image.
Fixes:
Roles
andClusterRoles
with aggregated roles were continuous reconciled by kustomize-controller has been fixed.See the components changelog for a full list of bug fixes.
Components changelog
CLI Changelog
flux check
should error on unrecognised argsflux stats
should error on unrecognised argsv2.2.2
Compare Source
Highlights
Flux v2.2.2 is a patch release that addresses an issue with the label selector sharding functionality in the helm-controller. Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
Components changelog
CLI Changelog
v2.2.1
Compare Source
Highlights
Flux v2.2.1 is a patch release that comes with fixes to API backwards compatibility.
Users are encouraged to upgrade for the best experience.
💡 For upgrading to Flux v2.2, please see the procedure documented in 2.2.0.
This version was tested with the latest Kubernetes release, and extends Flux support to Kubernetes v1.29.
The Helm SDK was updated to the latest version, v3.13.3.
Logging in kustomize-controller and helm-controller has been improved to provide faster feedback on any HTTP errors encountered while fetching artifacts from source-controller.
Components changelog
CLI Changelog
v2.2.0
Compare Source
Highlights
Flux v2.2.0 is a feature release. Users are encouraged to upgrade for the best experience.
The Flux CLI and controllers have been updated to Kustomize v5.3.0 and Kubernetes v1.28.4.
Flux helm-controller's reconciliation model underwent a significant overhaul, addressing persistent issues such as the automatic recovery of releases stuck in a pending state. In addition, it improves the observability of the release status, and it introduces the ability to enable drift detection on a per-object basis. For more details on the helm-controller improvements, please see the Announcing Flux 2.2 GA blog post.
The Flux CLI can now be used to force or reset the reconciliation state of a
HelmRelease
v2beta2 object usingflux reconcile hr --force
andflux reconcile hr --reset
.Flux CLI comes with support for bootstrapping Gitea repositories and adds guardrails to
flux install
andflux bootstrap
to protect users from destructive operations. Theflux version
andflux check
commands now print the Flux distribution version deployed on the cluster.The Flux alerting capabilities have been extended with NATS and Bitbucket Server & Data Center support.
Starting with this release, Flux minor versions are benchmark to measure the Mean Time To Production (MTTP). The results for this version can be found at
github.com/fluxcd/flux-benchmark.
❤️ Big thanks to all the Flux contributors that helped us with this release!
Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.26
>= 1.26.0
v1.27
>= 1.27.1
v1.28
>= 1.28.0
Note that Flux may work on older versions of Kubernetes e.g. 1.25, but we don't recommend running end-of-life versions in production nor do we offer support for these versions.
API changes
HelmRelease v2beta2
The HelmRelease kind was promoted from v2beta1 to v2beta2.
The v2beta2 API is backwards compatible with v2beta1, the v2beta1 API is deprecated and will be removed in a future release.
Deprecated fields:
.patchesStrategicMerge
and.patchesJson6902
Kustomize post-rendering fields have been deprecated in favor of.patches
..status.lastAppliedRevision
and.status.lastReleaseRevision
fields have been deprecated in favor of.status.history
..status.lastAttemptedValuesChecksum
has been deprecated in favor of.status.lastAttemptedConfigDigest
.New fields:
.spec.driftDetection.mode
field..spec.driftDetection.ignore
.spec.test.filters
field..status.history
field. This includes any Helm test results when enabled..status.lastHandledForceAt
and.status.lastHandledResetAt
fields have been introduced to track the last time a force upgrade or reset was handled.Alert and Provider v1beta3
The Alert and Provider kinds were promoted from v1beta2 to v1beta3.
The v1beta3 API is backwards compatible with v1beta2, the
.status
field was removed making the resources static objects. Any errors encountered while sending notifications are now recorded as Kubernetes Events associated with the Alert objects.Bucket v1beta2
A new field,
.spec.prefix
, has been added to the Bucket API, which enables server-side filtering of files if the object's.spec.provider
is set togeneric
,aws
orgcp
.OCIRepository and HelmChart v1beta2
Two new fields,
.spec.verify.matchOIDCIdentity.issuer
and.spec.verify.matchOIDCIdentity.subject
have been added to the HelmChart and OCIRepository APIs. If the image has been keylessly signed via Cosign, these fields can be used to verify the OIDC issuer of the Fulcio certificate and theOIDC identity's subject respectively.
HelmRepository and ImageRepository v1beta2
A new boolean field,
.spec.insecure
, has been introduced to theHelmRepository and ImageRepository APIs, which allows connecting to a non-TLS HTTP container registry. For HelmRepositories it is only considered if the object's
.spec.type
is set tooci
.From this release onwards, HelmRepository objects of type OCI are treated as static objects, i.e. they have an empty status.
Upgrade procedure
Upgrade Flux from
v2.x
tov2.2.0
either by rerunning bootstrap or by using the Flux GitHub Action.To upgrade the APIs, make sure the new CRDs and controllers are deployed, and then change the manifests in Git:
apiVersion: helm.toolkit.fluxcd.io/v2beta2
in the YAML files that containHelmRelease
definitions.apiVersion: notification.toolkit.fluxcd.io/v1beta3
in the YAML files that containAlert
andProvider
definitions.Bumping the APIs version in manifests can be done gradually. It is advised to not delay this procedure as the deprecated versions will be removed after 6 months.
New Documentation
Components changelog
CLI Changelog
flux reconcile hr
context deadline exceeded
errorflux install
from overriding bootrapped clusterflux pull
work for OCI artifacts produced by other toolsv2.1.2
Compare Source
Highlights
Flux
v2.1.2
is a patch release which comes with various fixes. Users are encouraged to upgrade for the best experience.Fixes
Kustomization
andHelmRelease
resources when the source-controller has restarted and is working on restoring the storage.OCIRepositories
when artifacts contain symlinks.Kustomizations
.flux bootstrap
when the owner doesn't match the identity associated with the given token.flux pull artifact
to fetch OCI artifacts produced by other tools.Components changelog
CLI Changelog
flux pull
work for OCI artifacts produced by other toolsv2.1.1
Compare Source
Highlights
Flux
v2.1.1
is a patch release which comes with various fixes. Users are encouraged to upgrade for the best experience.Fixes
source-controller
)..spec.secretRef
(source-controller
).image-automation-controller
).helm-controller
).helm-controller
).nil
artifact before loading Helm charts (helm-controller
).flux
CLI).Components changelog
CLI Changelog
v2.1.0
Compare Source
Highlights
Flux v2.1.0 is a feature release. Users are encouraged to upgrade for the best experience.
The Flux APIs were extended with new opt-in features in a backwards-compatible manner.
The Flux Git capabilities have been improved with support for Git push options, Git refspec, Gerrit, HTTP/S and SOCKS5 proxies.
The Flux alerting capabilities have been extended with Datadog support.
The Flux controllers come with performance improvements when reconciling Helm repositories with large indexes (80% memory reduction), and when reconciling Flux Kustomizations with thousands of resources (x4 faster server-side apply). The load distribution has been improved when reconciling Flux objects in parallel to reduce CPU and memory spikes.
❤️ Big thanks to all the Flux contributors that helped us with this release!
Deprecations
Flux v2.1.0 comes with support for Kubernetes TLS Secrets when referring to secrets containing TLS certs, and deprecates the usage of
caFile
,keyFile
andcertFile
keys.For more details about the TLS changes please see the Kubernetes TLS Secrets section.
Flux v2.1.0 comes with major imp
Configuration
📅 Schedule: 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.
This PR was generated by Mend Renovate. View the repository job log.