v0.14 is a hardening release with v1beta1 core APIs, enhanced error reporting, leader election, and multi-version XRD support – just ahead of the v1.0 release next month. More AWS cloud service primitives, customizable provider configurations, and several OAM enhancements round out this release!
The v0.14 release brings us one step closer to v1.0 and demonstrates a commitment to stability and production readiness with minimal breaking changes, more mature APIs, and refinements in performance and UX.
In v0.14 we continued to focus on the end-to-end UX for defining a universal cloud API for your app teams with platform Configurations
like the AWS Reference Platform for Kubernetes and Data Services that we covered in the blog post for the major Crossplane v0.13 release last month.
Community contributions in v0.14
Community contributions continue to roll in and we'd like thank everyone and give a special shout out for some notable v0.14 contributions:
- @khos2ow - for adding leader election support for all Crossplane controllers which can be enabled using the newly introduced
ControllerConfig
. - @krishchow and @RedHatOfficial! - for
provider-aws
enhancements that bringS3 Bucket Policy
to v1alpha2 and addIAM User Access Key
support which has been requested by several Crossplane users!
See the full list of supported AWS resources in the CRD Docs.
XRDs support multiple versions of an XR
CompositeResourceDefinitions
(XRDs) now support serving multiple versions with identical schema for forward-compatibility to ensure v1.0 APIs are stable.
We're exploring if XRD authors would prefer a declarative way to configure conversion similar the 'hub and spoke' model used by kubebuilder using our 'composed' version as the hub, so drop us a note with your feedback on the GitHub issue or in Crossplane Slack -- we'll be turning our attention here post v1.0!
Code generation of Crossplane Providers
The Crossplane community is making excellent progress towards code generation of native Crossplane providers and we'd like to give a special shout out to @jaypipes (AWS) and @matthchr (Azure) for their continued efforts as we adapt the AWS ACK and Azure Service Operator code gen pipelines to emit Crossplane resources for provider-aws
and provider-azure
.
The first batch of generated provider-aws
API types include 12 new API Gateway managed resources generated by ACK. This effort will greatly accelerate the coverage of resources in the Crossplane ecosystem.
You can follow along with the links below or drop us a note in the Crossplane #providers channel to learn more:
- AWS ACK code generation of provider-aws
- Azure Service Operator code generation of provider-azure
- Cloud providers without code gen pipelines: wrap stateless Terraform providers
Our roadmap includes 100% coverage for all cloud Providers
, so you can compose all the cloud service primitives you need in Crossplane Compositions
.
Other Notable Changes in v0.14
- The entire Crossplane ecosystem now uses v1 CRDs
- Surface XR claim binding and secret publishing errors
ControllerConfig
can override default values for a Provider- Crossplane version constraints in Provider and Configuration packages
- Open Application Model (OAM)
- HealthScope support for PodSpecWorkload
- Allow OAM controller to create events
- CRD discovery mechanism
- Remove deprecated Workload API types:
KubernetesApplication
,KubernetesTarget
,KubernetesCluster
- replaced by Composition and provider-helm
- All Crossplane projects are now using Github Actions for CI and artifact publishing.
- Upgrading to v0.14 guide in the Crossplane documentation
See the v0.14 release notes for additional details.
v1.0 is just around the corner
v1.0.0 Release Candidate (Dec 2020)
- Prometheus metrics for all binaries
- Claim update propagation to its underlying composite resource
- Bi-directional Composition patching for status
- Revision support for incremental Composition upgrades
- Use Composition members to fill a connection secret
- Composition validation webhooks
- Auto dependency resolution for packages - install providers
- All core APIs to v1/v1beta1
- Code Generation of Providers (initial set of generated resources)
- Native AWS, Azure provider resources.
- Terraform-based provider resources.
- Code Generation of Providers (100% coverage)
- First-class multi-language support for
Compositions
andConfigurations
- Managed resources can accept an array of resource references for enhanced cross-resource reference (CRR) / dependencysupport.
- Per-namespace mapping of IRSA and workload identity for finer grained infra permissions in multi-tenant clusters
- Additional conversion strategies for XRDs with multiple versions of an XR
- Conversion webhooks to support installing multiple API versions
- CustomComposition support for use with cdk8s sidecar, TYY, and others
Checkout the following to learn more:
KubeCon NA 2020 - November 17-20th
We'd love to see you at any of our upcoming virtual KubeCon NA talks November 17-20, so register now if you haven't already, checkout the schedule below, and our KubeCon Pre-event Livestream.
Drop by the Crossplane booth to chat LIVE with the team on Zoom about how you can compose your own cloud APIs and watch the Crossplane Overview Video below!
Please note all times are in Eastern Time (UTC–05:00)!
Wednesday Nov. 18th
Crossplane Project Office Hours - Join Here (Zoom)
Crossplane Maintainers
03:00 PM EST
Managing Apps and Cloud Resources with a Unified Approach in Kubernetes
Jianbo Sun, Alibaba & Jared Watts, Upbound
4:55 pm EST
Friday Nov. 20th
Building an Enterprise Infrastructure Control Plane on Kubernetes
Daniel Mangum, Upbound & Steven Borrelli, Mastercard
5:05 pm EST
Get involved!
We're excited to see the continual growth of the Crossplane community and would love for you to get involved. Whether you are a developer, user, or just interested in what we're up to, feel free to join us via one of the following methods: