Crossplane v2: A More Intuitive Way to Manage Applications

Since its launch in 2018, Crossplane has grown into a powerful tool for building Kubernetes-native control planes. Organizations around the world use it to manage cloud infrastructure through declarative APIs, bringing a familiar Kubernetes experience to platform engineering.

With Crossplane v2, we’re introducing a set of thoughtful refinements that make Crossplane more intuitive, flexible, and well-suited for managing applications—all while maintaining compatibility with existing workflows.

What’s Changing in Crossplane v2?

Crossplane v2 simplifies how composite resources (XRs) and managed resources (MRs) are structured:  

  • Namespaces by default – Most composite resources (XRs) and all managed resources (MRs) are now namespaced.
  • Broader composition capabilities – XRs can now compose any Kubernetes resource, not just MRs.
  • Claims are removed – This reduces complexity and aligns Crossplane more closely with Kubernetes conventions.  

These changes make it easier to manage applications and infrastructure in a unified way, without the need for extra cluster-scoped components.

A More Intuitive Model

Many teams use Crossplane to define opinionated self-service APIs for cloud infrastructure, but applications often remain a separate concern. Crossplane v2 makes application composition a first-class use case.  

By moving to a namespaced model, applications and their dependencies can be managed together in a way that feels natural within Kubernetes. The result is a cleaner, more consistent architecture that works equally well for infrastructure and applications.

Backward Compatibility & Migration

While Crossplane v2 introduces new APIs, existing v1 APIs will remain supported. That means:  

  • No breaking changes for most users
  • Legacy features will continue to work, though they won’t be the default
  • Adoption of v2 features is opt-in, allowing teams to migrate at their own pace

The goal is to make Crossplane more intuitive for new users, while ensuring that existing users can transition smoothly when they’re ready.

Get Involved

These changes are designed to make Crossplane more flexible and approachable while staying true to its core strengths. As development progresses, we’ll share more details and provide resources to help teams explore and adopt these improvements.  

We’ve created a draft proposal on GitHub. You can read it here. Please give us your feedback!

We look forward to continuing the conversation with the Crossplane community.