v1.14.0
This document applies to Crossplane version v1.14 and not to the latest release v1.16.
The v1.14.0 release is a quarterly Crossplane release.
Read the Crossplane announcement blog.
๐ Highlights
- Composition functions promoted to
v1beta1
. - A new Provider DeploymentRuntimeConfig to eventually replace the deprecated
ControllerConfig
. - New Crossplane CLI for troubleshooting and package management.
- Support for ordered deletion with Usages.
- Alpha support for real time composition
๐จ Warnings and breaking changes
- Crossplane Helm images have moved from
index.docker.io
toxpkg.upbound.io
. Images are still published toindex.docker.io
but is moving to only publish onxpkg.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. - The introduction of the new Crossplane CLI deprecates
the existing
kubectl crossplane
plugin. - The
v1beta1
implementation of Composition Functions is incompatible with existingv1alpha1
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 the event message
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.