feat(github-release)!: Update fluxcd/flux2 to v2.1.0 #2005
Closed
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.1.0
Release Notes
fluxcd/flux2 (fluxcd/flux2)
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 improvements to the Prometheus monitoring stack. Starting with this version, Flux is leveraging the
kube-state-metrics
CRD exporter to report metrics containing rich information about Flux reconciliation status e.g. Git revision, Helm chart version, OCI artifacts digests, etc. Thegotk_reconcile_condition
metrics was deprecated in favor of thegotk_resource_info
.For more details about the new monitoring stack please see the Flux Prometheus metrics documentation and the flux2-monitoring-example repository.
API changes
GitRepository v1
The GitRepository API was extended with the following fields:
.spec.proxySecretRef.name
is an optional field used to specify the name of a Kubernetes Secret that contains the HTTP/S or SOCKS5 proxy settings..spec.verify.mode
now support one of the following valuesHEAD
,Tag
,TagAndHEAD
.Kustomization v1
The Kustomization API was extended with two apply policies
IfNotPresent
andIgnore
.Changing the apply behaviour for specific Kubernetes resources, can be done using the following annotations:
kustomize.toolkit.fluxcd.io/ssa
Override
Override
-
Merge
-
IfNotPresent
-
Ignore
kustomize.toolkit.fluxcd.io/force
Disabled
Enabled
-
Disabled
kustomize.toolkit.fluxcd.io/prune
Enabled
Enabled
-
Disabled
The
IfNotPresent
policy instructs the controller to only apply the Kubernetes resources if they are not present on the cluster.This policy can be used for Kubernetes
Secrets
andValidatingWebhookConfigurations
managed by cert-manager,where Flux creates the resources with fields that are later on mutated by other controllers.
ImageUpdateAutomation v1beta1
The ImageUpdateAutomation was extended with the following fields:
.spec.git.push.refspec
is an optional field used to specify a Git refspec used when pushing commits upstream..spec.git.push.options
is an optional field used to specify the Git push options to be sent to the Git server when pushing commits upstream.Kubernetes TLS Secrets
All the Flux APIs that accept TLS data have been modified to adopt Secrets of type
kubernetes.io/tls
. This includes:.spec.secretRef
has been deprecated in favor of a new field.spec.certSecretRef
.caFile
,keyFile
andcertFile
keys in the Secret specified in.spec.certSecretRef
have been deprecated in favor ofca.crt
,tls.key
andtls.crt
.caFile
,keyFile
andcertFile
keys in the Secret specified in.spec.certSecretRef
have been deprecated in favor ofca.crt
,tls.key
andtls.crt
..spec.secretRef
using theca.crt
key, which takes precedence over thecaFile
key.Upgrade procedure
Upgrade Flux from
v2.0.x
tov2.1.0
either by rerunning bootstrap or by using the Flux GitHub Action.To upgrade Flux from
v0.x
tov2.1.0
please follow the Flux GA upgrade procedure.Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.25
>= 1.25.0
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.21, but we don't recommend running end-of-life versions in production nor do we offer support for these versions.
New Documentation
Components changelog
CLI Changelog
--ssh-rsa-bits
flagopenssl
andsha256sum
$RUNNER_TOOL_CACHE
, support MacOS and Windows, validate checksumv2.0.1
Compare Source
Highlights
Flux
v2.0.1
is a patch release which comes with various fixes. Users are encouraged to upgrade for the best experience.💡 For upgrading from Flux
v0.x
, please see the procedure documented in 2.0.0.Fixes
source-controller
,image-reflector-controller
).kustomize-controller
).flux diff ks --kustomization-file
(flux
CLI).Components changelog
CLI Changelog
openssl
andsha256sum
$RUNNER_TOOL_CACHE
, support MacOS and Windows, validate checksumNew Documentation
v2.0.0
Compare Source
Highlights
This is the first General Availability (GA) release of Flux v2.
Flux v2.0.0 comes with the promotion of the GitOps related APIs to v1 and adds horizontal scaling & sharding capabilities to Flux controllers. The Git bootstrap capabilities provided by the Flux CLI and by Flux Terraform Provider are now considered stable and production ready.
Starting with this version, the build, release and provenance portions of the Flux project supply chain provisionally meet SLSA Build Level 3.
Flux GA is fully integrated with Kubernetes Workload Identity for AWS, Azure and Google Cloud to facilitate passwordless authentication to OCI sources (container images, OCI artifacts, Helm charts).
The Flux alerting capabilities have been extended with PagerDuty and Google Pub/Sub support. The improved Alert v1beta2 API provides better control over events filtering and allows users to enrich the alerts with custom metadata.
Supported versions
Starting with this version, the Flux CLI and the GA components (source-controller, kustomize-controller and notification-controller) follow the release cadence and support pledge documented in the Flux release specification.
Kubernetes compatibility
This release is compatible with the following Kubernetes versions:
v1.24
>= 1.24.0
v1.25
>= 1.25.0
v1.26
>= 1.26.0
v1.27
>= 1.27.1
Note that Flux may work on older versions of Kubernetes e.g. 1.19, but we don't recommend running end-of-life versions in production nor do we offer support for these versions.
Flux ecosystem support
The following (open-source) extensions & integrations are compatible with this Flux release, starting from the specified minimum version or higher.
0.26.0
0.15.0
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:
.spec.gitImplementation
was removed.spec.accessFrom
was removed.status.contentConfigChecksum
was removed.status.artifact.checksum
was removed.status.url
was removed (replaced by.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:
.spec.validation
was removed.spec.patchesStrategicMerge
was removed (replaced by.spec.patches
).spec.patchesJson6902
was removed (replaced by.spec.patches
)Receiver v1
The Receiver 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:
.status.url
was removed (replaced by.status.webhookPath
)Upgrade procedure
Upgrade Flux from
v0.x
tov2.0.0
either by rerunning bootstrap or by using the Flux GitHub Action.To upgrade the APIs from v1beta2, make sure the new CRDs and controllers are deployed, and then change the manifests in Git:
GitRepository
andKustomization
definitions.apiVersion: source.toolkit.fluxcd.io/v1
in the YAML files that containGitRepository
definitions.apiVersion: kustomize.toolkit.fluxcd.io/v1
in the YAML files that contain FluxKustomization
definitions.apiVersion: notification.toolkit.fluxcd.io/v1
in the YAML files that containReceiver
definitions.GitRepository
andKustomization
objects present in the.spec.resources
list ofReceiver
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.
New Documentation
❤️ Big thanks to all the Flux contributors that helped us reach this milestone!
👏 And a special shoutout to the Flux community who supported us over the years!
Components changelog
CLI Changelog
flux push
example for ECRgo.mod
version with Kubernetes (Go 1.20)flux logs
more lenientConfiguration
📅 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 has been generated by Mend Renovate. View repository job log here.