The Crossplane open-source project has announced the release of version 2.0, an upgrade that moves the project from managing only cloud infrastructure to more comprehensive application and infrastructure orchestration. Some architectural changes have also been made to simplify platform engineering workflows and expand the project’s original scope.
First created in 2018, Crossplane brings Kubernetes-style APIs to cloud resource management, so that engineers can manage public cloud infrastructure directly in Kubernetes, through Kubernetes CRDs (Custom Resource Definitions). The new major release intends to address limitations that platform teams have cited, specifically that whilst the tool excels at enabling infrastructure self-service, there is still a division between the infrastructure and applications which need to be dealt with seperately. Crossplane 2.0 adds application support, so platform teams can now provide a single YAML manifest to deploy an application and the infrastructure it needs. The announcement cites an example that creates a database, appropriate security groups, ingress for an application and deploys the application too.
On top of adding support for applications in version 2, another substantial change enables compositions (a template for creating multiple Kubernetes resources as a single composite resource) to include any Kubernetes resource, not just infrastructure managed by Crossplane. This enhancement, documented in a page describing what’s new in v2, allows platform teams to develop unified abstractions that provision databases, configure networking, deploy applications, and establish monitoring within a single composite resource definition.
Crossplane 2.0 also now adopts a namespace-first approach, departing from the previous cluster-scoped default model. Both composite resources and managed resources are now namespaced by default, aligning with standard Kubernetes conventions and improving multi-tenancy support. The old version suffered from duplication between claims and composite resources, and this is now superseded by direct resource creation within appropriate namespaces. The namespaced approach gives more granular access control and resource isolation. Provider support for namespaced resources varies by maintainer, with AWS resources fully supported at launch. Other cloud providers and systems including Azure, GCP, and Terraform are actively being updated to support the new architecture.
The release introduces a new Operation type that supports declarative operational workflows. These operations handle one-off tasks, scheduled maintenance, and event-driven processes such as upgrades and backups. And Crossplane 2.0 supports selective managed resource installation to address concerns about providers installing too many CRDs simultaneously.
The problem was that Crossplane v1’s architecture, while powerful, had become overly opinionated. […] We realized we needed to step back and ask: what would Crossplane look like if we designed it today, with everything we’ve learned?
– Nic Cope & Jared Watts
Community feedback on social platforms about earlier versions of Crossplane has revealed some mixed feelings on its evolution. User CoachBigSammich reported success using Crossplane for dynamic database provisioning, stating: “4 years ago at my previous job we were using it to deploy GCP Cloud SQL instances and databases on demand for devs. It was super nice where we just had to create an XRD (essentially a crossplane CRD) and then we could have the pipeline deploy the resource and the GCP provider provision everything”
Criticism focused on complexity and maintenance overhead, with some organisations moving away from the platform. One user reported: “We moved away from Crossplane (albeit there wasn’t a lot of implementation of it) earlier this year, the over complexity of Crossplane and the debugability were the main drivers”
Turning to the release of version 2.0, there is however much positivity. User AnomalousVibe provided extensive feedback on v2, stating: “I’ve been actively following the evolution to v2 and I am nothing but excited for where the platform is going. This new release will be fantastic for developer experience; personally for us, it means we can start pruning a lot of our custom code, and we’re especially excited to start using the new operation functions”
User Curious_Ad_5014 asked specifically about v2 provider compatibility, with user internegz responding that “maintainership of the providers is pretty distributed, so I can’t say for sure. It’ll vary from provider to provider.”
Vrersion 2.0’s architecture maintains backward compatibility for most existing configurations. Legacy v1-style composite resources and managed resources will continue to work, though the project is now positioning cluster-scoped resources as deprecated features. New projects can immediately adopt v2 patterns, while teams should look into migrating existing workloads incrementally, without operational pressure.
There is also a roadmap for future plans for Crossplane. This shows some plans to improve observability, to ship better composition debugging tools, and to build tighter integration with cloud-native components. The roadmap also mentions composition testing frameworks and advanced policy integration capabilities. Crossplane 2.0 is now positioned as a comprehensive platform for building out both infrastructure and applications together, rather than focusing exclusively on cloud resource management. It is available now.