Crossplane v0.14 adds final v1beta1 core APIs and enhanced platform configuration support going into v1.0 next month!

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 bring S3 Bucket Policy to v1alpha2 and add IAM 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:

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.
  • Next / Under Consideration

    • Code Generation of Providers (100% coverage)
    • First-class multi-language support for Compositions and Configurations
    • Managed resources can accept an array of resource references for enhanced cross-resource reference (CRR) / dependency support.
    • 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:

Keep up with Upbound

* indicates required