Update Helm release crossplane to v2.4.0 - #25
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
2.3.4→2.4.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
crossplane/crossplane (crossplane)
v2.4.0Compare Source
The
v2.4.0release is a regular quarterly Crossplane release that is focused on maturing a number of key areas of functionality across the project, as Crossplane continues to become more capable, more reliable, and more performant for your production workloads. This release includes the ability to watch required resources and reconcile XRs immediately when they change, scale to zero for safe-start capable providers, release artifacts that are vulnerability scannable, and a wide range of fixes and reliability improvements. It also includes security fixes in Crossplane's Go toolchain and dependencies.🚨 v1.20 end-of-life (EOL) November 2026
This v2.4 release marks the final release cycle where v1.20 will be maintained.
When v2.5 is released in Nov 2026, v1.20 will reach its EOL and no longer receive any support or maintenance by the Crossplane project. Until that time, we will continue to provide critical fixes and security related dependency updates to v1.20.
Is your control plane ready for v2?
Upgrading to Crossplane v2 does not require any migration as part of the upgrade process, with the exception of the minimal breaking changes explicitly called out in the v2 documentation. If your control plane is not affected by those changes, you can simply upgrade to v2 right away.
To better assist Crossplane users in determining if their control planes are affected by any of the breaking changes in v2, we have released a v2 readiness checker tool in the v1.20 Crossplane CLI that can be invoked via
crossplane beta upgrade check. You can read all about this tool in the following resources:Crossplane Downstream Distributions
Downstream distributions are eligible to continue their extended support and maintenance for their releases that are based on upstream Crossplane's v1.20. Check with your vendor for more details if you are using a downstream distribution of Crossplane.
🚨 v2.4 Notable and Breaking Changes
releases.crossplane.io. New CLI releases go only tocli.crossplane.io, under the binary namecrossplanerather thancrank. This completes the CLI's move to https://github.com/crossplane/cli, which was announced in thev2.3.0release notes and dual published to both locations forv2.3.0to ease the transition.releases.crossplane.io, update them to usecli.crossplane.io, and update any firewall or proxy rule that allowsreleases.crossplane.ioto now allowcli.crossplane.ioinstead.install.shscript as their installation procedure are unaffected.metadata.generation, so any change to a package's spec produces a newPackageRevision. #7473runtimeConfigRefreused the existing revision, along with its stale runtime settings. #5068v2.4, every installed package gets a new revision, with a new name, on its first reconcile.PodsforProvidersandFunctionswill be restarted for this new revision.Deployment,ServiceAccount,Service, and TLSSecrets) are now applied with server-side apply under thepkg.crossplane.io/runtimefield manager, replacing the previous merge patch applicator. #7563DeploymentRuntimeConfigis now removed from the live runtime object, rather than lingering until that object is replaced. #4817RUNTIMEprinter column onProviderRevisionandFunctionRevisionwas renamed toRUNTIME-HEALTHY, and a newRUNTIME-ACTIVEcolumn was added. #7586kubectl get providerrevisionorkubectl get functionrevisionoutput by column position.typelabel on theengine_watches_started_totalandengine_watches_stopped_totalmetrics changed fromComposedResourcetoDependency, now that a single watch mechanism covers both composed and required resources. #7572🎉 Highlights
design/one-pager-watching-required-resources.mdand #7572.ManagedResourceDefinitionsare inactive, so there is no reason to run its pods. Crossplane now creates such a provider's runtimeDeploymentwith zero replicas and scales it up once its first MRD becomes active, such as through a matchingManagedResourceActivationPolicy. Installing a broad set of providers no longer costs you a running pod for each one that has nothing to reconcile yet. #7586RuntimeActivecondition onProviderRevisionandFunctionRevisionmakes this visible. It isFalsewith reasonAwaitingActivationwhile the runtime is intentionally scaled to zero andTrueonce it has been scaled up.RuntimeHealthystays healthy in both cases, and the package'sHealthycondition surfaces the awaiting state with the same reason.spec.replicasin aDeploymentRuntimeConfig, which is now read as how many replicas to run while running, rather than a demand to always be running. #7639buildGoModule, which includes the full Go dependency list into the binary. Scanners such asgrypeandtrivypreviously were only able to discover the Crossplane main module and the Go standard library, so CVEs in our third-party dependencies were not visible to them. Now Crossplane and its complete set of dependencies are visible to security scanner tools. #7549DeploymentRuntimeConfigis now actually removed from the liveDeploymentinstead of lingering (#7563, fixing #4817). Deactivating a revision also no longer deletes a runtimeDeploymentthat another revision controls, which could happen when aDeploymentRuntimeConfigpins a stabledeploymentTemplate.metadata.name(#7561).spec.resourceRefscan no longer be used to make the composite controller delete arbitrary resources (#7627). The claim to XR syncers now strip XR machinery fields such asresourceRefsand thecrossplanestanza, which a claim could otherwise smuggle through an XRD schema that setsx-kubernetes-preserve-unknown-fields: true(#7626)./v1.20/, used to return results from all versions, potentially returning features and APIs that don't exist in the version you're actually reading. Search is now scoped to the version you're on, results carry a clearly visible version badge, and pages from older versions show a banner explaining that, with a link to latest. Thanks to @haarchri for this one in crossplane/docs#1051, so give it a try at https://docs.crossplane.io.crossplane render: an XRD schema can now be supplied tocrossplane internal render(#7452), requirements are returned even when a function returns a fatal result (#7455), a namespace is set on injected resource references only for cluster-scoped XRs, matching the real reconciler (#7523), and an input XR fetched from a real cluster keeps its own UID so its observed resources are read correctly, with clear errors when observed resources don't line up with the XR (#7544).sha256files published with release binaries are now calculated after Nix strips the binary, so amd64 checksums match what you download. They didn't forv2.2.0throughv2.3.1, and CI now verifies checksums before uploading artifacts. #7660Usageno longer gets a redundant owner update on every reconcile, which could repeatedly trigger composition reconciliation and eventually open the XR circuit breaker. #7591spec.resourceRefsnow includes the namespace, so references stay stable when composed resources share a name across namespaces. #7341🏅 Release MVP
For the v2.4 release cycle, we'd like to recognize @rafal-jan as the release MVP!
They had an enormous impact in
crossplane-runtime, first by diagnosing the root cause in crossplane/crossplane-runtime#1056 of significant memory usage by providers that are safe-start capable when they essentially watch and cache every CRD in the control plane. Then @rafal-jan went a step further and submitted an elegant solution in crossplane/crossplane-runtime#1058 to strip the cached CRDs down to just the fields needed to watch and respond appropriately to events, drastically reducing the memory consumption by these providers. Thank you @rafal-jan!📖 Full Changelog
internal renderby @jcogilvie in #7452eb5cf3a(main) by @crossplane-renovate[bot] in #7379fee1f7d(main) by @crossplane-renovate[bot] in #73101201ddd(main) by @crossplane-renovate[bot] in #7128fd21066(main) by @crossplane-renovate[bot] in #7380df4cb1c(main) by @crossplane-renovate[bot] in #74839c8100a(main) by @crossplane-renovate[bot] in #74878aad20d(main) by @crossplane-renovate[bot] in #74860fb7174(main) by @crossplane-renovate[bot] in #74858aa0397(main) by @crossplane-renovate[bot] in #748439bae1e(main) by @crossplane-renovate[bot] in #74881e223db(main) by @crossplane-renovate[bot] in #7663d23441a(main) by @crossplane-renovate[bot] in #7662630ae54(main) by @crossplane-renovate[bot] in #76728c6a16e(main) by @crossplane-renovate[bot] in #7671dbcb813(main) by @crossplane-renovate[bot] in #7673f205ea1(main) by @crossplane-renovate[bot] in #7674d1ba80a(main) by @crossplane-renovate[bot] in #7693New Contributors
Full Changelog: crossplane/crossplane@v2.3.0...v2.4.0
v2.3.5Compare Source
v2.3.5is a patch release scoped to fixing issues reported by users of Crossplanev2.3and fixing security related issues in Crossplane's dependencies.🎉 Highlights
crankchecksums foramd64binaries (#7666, originally #7660): The published.sha256files forlinux_amd64binaries had not matched the binaries themselves sincev2.2.0, so any install script or Dockerfile that verified theamd64checksum failed. Checksums are now calculated after Nix strips the binary, and the release workflow verifies them before uploading. Fixes #7467.Usageindex key (#7630, originally #7508): The deletion protection webhook indexedUsageresources by joining API group, kind, name, and namespace with.. Since groups and names can contain.themselves, two distinct resources could collapse to the same key, causing the webhook to block a deletion that should have been allowed. The key now joins with/, which cannot appear in any of those fields.cel-go(#7761),golang.org/x/mod(#7743), andsigstore-go(#7678), plus a combined set of vulnerable dependency updates (#7650), to pick up upstream CVE fixes.crossplane-runtimeis also bumped tov2.3.4(#7765), which carries its own set of security dependency updates.What's Changed
Full Changelog: crossplane/crossplane@v2.3.4...v2.3.5
Configuration
📅 Schedule: (UTC)
🚦 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.