v1.1.0
Major Themes
This is the first post-v1.0 release for Crossplane, and also serves to establish our new release cadence. Crossplane will continue with minor version releases every 2 months for the foreseeable future, and the community will maintain the most recent 3 releases.
v1.1.0 primarily adds additional functionality to Crossplane's composition engine and enhances the ability to customize provider installations.
Notable Updates
- #2077 Adds "bidirectional patching" to Crossplane's composition engine. This allows for specifying patches from composed resources back to the corresponding XR / XRC. You can read more about this feature in the composition documentation. Thanks to @mcavoyk for delivering this feature.
- #2104 Adds the ability to set annotations on an installed provider controller
Pod
using theControllerConfig
API type. This enables scenarios such as credential injection using the Vault sidecar agent. - #2133 Added support for
Required
fromFieldPath
patches, which will cause rendering of composed resources to fail if a patch that is marked asRequired
is missing itsfromFieldPath
. This can have interesting implications when interacting with bidirectional patching, and its behavior is subject to change slightly in the future. See #2175 for more information. - #2131 Adds support for naming templates in a
Composition
. This enables reordering, as well as addition and deletion of templates in aComposition
. Template names are not required, but all templates in a - #2082 Update Crossplane dependency on controller-runtime to v0.8.0. This change does not result in any user-facing changes for Crossplane users, but does include some fixes in the underlying machinery. Thanks to @saschagrunert and @khos2ow for leading this update.
- #2087 Fixes a bug with required package revision dependency status fields by making them optional. This bug impacted users upgrading from pre-v1.0 Crossplane versions, but could be mitigated by manually removing the required stanza in the status of the CRD.
- #2061 Adds support for
linux_arm
binaries and images, and switches to using adistroless
base image for Crossplane and the RBAC Manager. - #2102 Added support for using the Kubernetes Lease API for leader election for Crossplane and any providers it installs.
controller-runtime
currently supports using aMultilock
strategy for leader election, meaning that both the legacyConfigMap
strategy, as well as the Lease API, are supported. - #2105 Adds parameters to the Crossplane Helm chart for setting
nodeSelector
,tolerations
, andaffinity
on the Crossplane and RBAC ManagerDeployments
. - #2134 Adds the ability to expose Prometheus metrics endpoints for installed providers using the
ControllerConfig
API type. Thanks to @smcavallo for enabling this functionality.
Upgrading
Upgrades from v1.0 should be seamless, but a little special handling is required due to the fact that Helm does not upgrade CRDs. See
the Upgrading to v1.x guide in the Crossplane documentation for more information.