Skip to content

chore(deps): update helm release crossplane to v1.15.0

Renovate Bot requested to merge renovate/crossplane-1.x into master

This MR contains the following updates:

Package Type Update Change
crossplane (source) HelmChart minor 1.13.2 -> 1.15.0

Release Notes

crossplane/crossplane (crossplane)

v1.15.0

Compare Source

The v1.15.0 release is a regular quarterly Crossplane release that is focused on expanding the capabilities of Crossplane's Composition features, enhancing the Crossplane CLI, and improving the developer experience. This release introduces key enhancements and new features that further empower platform engineers and developers to compose their infrastructure using Crossplane.

🎉 Highlights

  • Server-Side Apply for Claim Syncing: This alpha feature uses Kubernetes' Server-Side Apply to improve syncing between Composite Resources and their claims. This feature resolves several outstanding issues but should be enabled carefully after consideration of known behavior changes.
  • Expanding Composition Functions: Composition Functions now support requesting arbitrary cluster-scoped resources, enabling more complex compositions that can interact with a wider range of Kubernetes resources. Additionally, Crossplane introduces Python SDK and templates for Composition Functions, widening the community of potential function developers.
  • Enhancements to the Crossplane CLI:
    • New subcommands like crossplane beta validate for schema validation, crossplane beta top for resource utilization views similar to kubectl top pods, and crossplane beta convert for converting resources to newer formats or configurations.
    • Improved existing commands like crossplane xpkg init with support for specific git references and additional templates, and crossplane beta render with new flags for including full XR details and context.
    • crossplane beta trace now understands Crossplane packages and can display the entire dependency graph for a given package, along with status for each entry, vastly simplifying the troubleshooting of Crossplane package installations and upgrades.

🚨 Warnings and breaking changes

  • The default registry that Crossplane's package manager will install packages from has changed to xpkg.upbound.io from index.docker.io. After upgrading, Crossplane will start pulling packages from xpkg.upbound.io, unless a fully qualified name is specified for a package that includes the specific registry the package resides in, or you have overridden the default registry value with the --registry flag.
  • The RBAC manager's --manage flag was dropped, this flag allowed configuring the management policies between All and Basic.
    • In v1.13 we switched the default to Basic, and now we are removing the All option completely.
    • ️ If needed, see the related issue to see how to restore the All behaviour.

💡 New features

What's new in v1.15.0?

Server-Side Apply based Claim syncing

Alpha support for Server-Side Apply (ssa) based syncing between Composite Resources and Claims was introduced in this release and can be enabled by passing the --enable-claim-ssa flag to Crossplane. This allows to solve a few syncing issues reported by users, but also implies some behaviour changes that users need to be aware of and provide feedback for before enabling it by default, see the related issue for more details.

Composition Functions

Extra Resources

Composition Functions can now request Crossplane to fetch any cluster-scoped resource Crossplane has access to for them, so before computing the "desired state", this opens up a lot of possibilities, such as reimplementing almost completely the in-tree environment support as a Function, see crossplane-contrib/function-environment-configs.

Metrics

Crossplane will now emit basic metrics related to Functions, e.g. number of requests sent, number of responses received and runs duration. See https://github.com/crossplane/crossplane/pull/5006 for example metrics.

Python Composition Functions

In addition to Go, Composition Functions can now easily be written in Python too, thanks to a new SDK and template. You can read more about it in the docs.

Crossplane CLI

Crossplane v1.15 introduces a few new subcommands:

  • crossplane beta validate: allowing to validate a set of resources against their schemas. Being built for Crossplane, the command can automatically download schemas for Crossplane Packages (xpkgs) and directly understands CompositeResourceDefinitions (XRDs).
  • crossplane beta top: providing quick resource utilization insight for Crossplane's pods, similar to kubectl top pods.
  • crossplane beta convert with two subcommands:
    • pipeline-composition: which allows to automatically convert Compositions to the Pipeline mode, using crossplane-contrib/function-patch-and-transform.
    • deployment-runtime: which allows to automatically convert a deprecated ControllerConfig resource to the new DeploymentRuntimeConfig.

Existing subcommands were also improved:

  • crossplane xpkg init now also supports printing helpful messages and init-scripts. It now support initialising from a specific git reference, --ref-name, and also two new templates: function-template-python and configuration-template.
  • crossplane beta render was enriched with a few new flags and capabilities:
    • --include-full-xr: to output the full Composite Resource (XR), copying the spec and metadata provided as input, so that can be easily validated using crossplane beta validate.
    • --include-context: to output the pipeline's Context, for better insight in the pipeline execution.
    • --extra-resources: to load extra resources so that a Function in the pipeline can access them
    • It will now set the XR's Ready condition according to the pipeline's output.
  • crossplane beta trace now can show the tree of resources also for Crossplane Packages (xpkgs: Providers/Functions/Configurations), to help debugging issues with those too. For Composite Resources instead it can now show also the resource name as defined by the Composition, using -o wide, to allow easily recognising resources with random names.

📖 Full Changelog

🆕 New Contributors

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.15.0-rc.0...v1.15.0

v1.14.6

Compare Source

Release v1.14.6 contains a few recent bug and security fixes.

What's Changed

Renovate

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.5...v1.14.6

v1.14.5

Compare Source

This patch release includes two bug fixes:

  • Handle properly the case when EnvironmentConfig selector maxMatch is set, but the returned number of config is lower than the set value (#​5127)
  • Crossplane CLI support correctly --runtime-config flag when installing providers/functions (#​5164)

What's Changed

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.4...v1.14.5

v1.14.4

Compare Source

This patch release includes bug fixes in various areas:

  • [ALPHA] BREAKING: If there are no matches for Single mode spec.environment.environmentConfigs[*].selector, an error will occur as per the original design. If you want it to be optional, switch to Multiple mode and set maxMatch accordingly (e.g., 1).
  • Added spec.environment.environmentConfigs[*].selector.minMatch which defaults to 0. It specifies the minimum number of EnvironmentConfigs to match for Multiple mode label selectors. If fewer matches are found than desired, an error will be produced.
  • Properly set up RBAC to grant Crossplane access to finalizers. This is necessary for clusters with the OwnerReferencePermissionEnforcement admission controller enabled.
  • Limit length of deprecation warnings to 256 characters for XRDs to avoid silently erroring out later at CRD creation time.

What's Changed

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.3...v1.14.4

v1.14.3

Compare Source

This patch contains two bug fixes:

What's Changed

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.2...v1.14.3

v1.14.2

Compare Source

This patch release contains several bug fixes and improvements in the package manager:

What's Changed

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.1...v1.14.2

v1.14.1

Compare Source

This patch release contains fixes for the following bugs:

What's Changed

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.14.0...v1.14.1

v1.14.0

Compare Source

The v1.14.0 release is a regular quarterly Crossplane release that is packed full of big features that will make platform engineers more productive and effective in building control planes to power their infrastructure. This is the biggest release we’ve done to date, with over 700 commits, so the velocity has only continued to increase as the project matures.

🎉 Highlights

🚨 Warnings and breaking changes

  • Crossplane Helm images have moved from index.docker.io to xpkg.upbound.io. Images are still published to index.docker.io but is moving to only publish on xpkg.upbound.io in a future release.
  • Changes to TLS certificates. Existing users of external secret stores need to manually update their TLS certificates. Read Crossplane issue #​4565 for more information.
  • Removed Vault support for External Secret Stores. Crossplane suggests using the ESS Plugins as a replacement.
  • Removed the controllerConfigRef from the Configuration package and package revision APIs, which was a no-op before.
  • The introduction of the new Crossplane CLI deprecates the existing kubectl crossplane plugin.
  • The v1beta1 implementation of Composition Functions is incompatible with existing v1alpha1 functions.

💡 New features

What's new in v1.14.0 ?

Crossplane CLI

Crossplane v1.14 introduces a rebuilt Crossplane CLI. The Crossplane CLI provides features to help troubleshoot Crossplane resources, build and publish Crossplane packages, and locally test composition functions. Read the CLI documentation for information on installing and the full set of supported features.

Real time Compositions

This release adds the alpha feature "real time compositions" to Crossplane. Real time compositions allow Kubernetes to immediately notify Crossplane of changes to composed resources. Crossplane doesn't need to poll resources to determine their state. Real time compositions dramatically speed up the time Crossplane reacts to changes or failures of managed resources. The real time compositions feature is an alpha feature and isn't enabled by default. The Crossplane pods documentation has more information about real time compositions.

Ordered resource deletion

Crossplane introduces a new usages type to prevent resources from deletion or to ensure deletion happens in the correct order. A Usages defines a dependency mapping between a resource and any dependencies. Crossplane can't delete the parent resource until after deleting the child resource. A usage also allow Crossplane to prevent accidental deletion of a resource. The usage feature is an alpha feature and isn't enabled by default. The Usages documentation provides information on enabling and configuring Usages.

🏗️ Notable changes

Composition functions

v1.14 promotes composition functions to v1beta1 with a new, more scalable architecture for running functions.

Crossplane v1.14 includes CLI tooling, templates, SDKs, and documentation for building functions.

Several new functions available for the new architecture, including function patch and transform, function Go templating, and function cue.

Management policies enabled by default

Managed resource "management policies" moved to beta and are now enabled by default.

Object has been modified warnings

Crossplane changed the behavior causing this confusing event message, so users should see much less of these:

cannot patch object: Operation cannot be fulfilled on compositenetworks.gcp.platformref.crossplane.io "test-network-d6xjh": the object has been modified; please apply your changes to the latest version and try again`

Adding extra objects during Crossplane install

The Crossplane Helm chart now supports an extraObjects: [] array to install other Kubernetes objects during the Crossplane install.

Support for pausing other Crossplane objects

The Crossplane annotation crossplane.io/paused is now supported in Claims, Composites, Configurations, Functions, and Provider objects.

Full Changelog

New Contributors

Full Changelog: https://github.com/crossplane/crossplane/compare/v1.13.0...v1.14.0


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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This MR has been generated by Renovate Bot.

Merge request reports