Strengthening Crossplane's Community-Driven Ecosystem
The Crossplane community has always thrived on collaboration, innovation, and openness. Today, we're excited to announce key updates aimed at fostering the growth of community-contributed Crossplane extensions (providers and functions) while reinforcing our commitment to vendor neutrality—just like all CNCF projects.
We recognize the importance of ensuring that all community-driven contributions remain accessible, well-maintained, and free from vendor lock-in. These updates provide clear expectations and a neutral foundation to support the entire Crossplane ecosystem.
What’s Changing?
Clear Expectations for Community-Contributed Extensions
We are introducing operational guidelines for maintaining extensions contributed under the github.com/crossplane-contrib
organization. These policies ensure that community extensions are properly maintained, fostering long-term sustainability and reliability.
A Vendor-Neutral, Community-Driven Home for Extensions
To enhance accessibility and neutrality, all community-contributed extensions will now be published, at a minimum, to ghcr.io/crossplane-contrib
. Project documentation will reference this location, providing a consistent and independent source that the entire community can trust—regardless of vendor affiliations.
By reinforcing vendor neutrality, we align with the broader CNCF ecosystem’s principles, ensuring that Crossplane remains an open, community-first project. These changes support our shared goal of making Crossplane the best choice for building cloud-native control planes while improving transparency, accessibility, and long-term adoption.
Your contributions and feedback fuel Crossplane’s success. We appreciate your continued support and look forward to building a strong, open, and vendor-neutral ecosystem together!
The Crossplane Ecosystem
Crossplane has a large and thriving ecosystem of providers and functions—collectively referred to as extensions. These extensions can be public or private and maintained by individuals, end-user organizations, or vendors.
A subset of these extensions has been donated to the Crossplane project and resides in the crossplane-contrib
GitHub organization. With today's governance updates, these projects will follow the same requirements as the Crossplane core project.
The Goals of crossplane-contrib
From its inception, crossplane-contrib
was created to provide a collaborative home for community-driven Crossplane extensions. With today’s changes, we are introducing a clear health criteria for these projects, aligned with the CNCF’s standards. These criteria include:
- Regular builds
- A vendor-neutral home for released OCI images
However, it is not a requirement for all Crossplane extensions to reside in crossplane-contrib
. To ensure the ecosystem thrives, there must be opportunities for differentiation through commercial offerings and services around these extensions.
Regular Builds for Community Extensions
A key governance update requires that all extensions donated to github.com/crossplane-contrib
provide regular builds, ensuring the community has reliable access to up-to-date extensions. This change will help maintain a curated and well-maintained catalog of community extensions.
Introducing xpkg.crossplane.io
All Crossplane packages—including Crossplane itself and community-contributed extensions—will be hosted on GitHub Container Registry (GHCR) at ghcr.io/crossplane-contrib
and proxied via xpkg.crossplane.io
.
Previously, much of the community content was served from xpkg.upbound.io
. To ensure vendor neutrality, Crossplane and community content will now be published to xpkg.crossplane.io
. Additionally, content can be published to other registries such as Upbound and Docker Hub.
API Groups for Extensions
Crossplane providers define managed resources using Kubernetes API conventions. Moving forward:
- All new extension projects in
crossplane-contrib
must use acrossplane.io
API group. - Existing projects that are later donated to Crossplane will not be required to change their API group, as this would introduce breaking changes for existing compositions.
Updates to Crossplane Documentation and Website
To maintain vendor neutrality, the Crossplane documentation and website will only reference community extensions. Commercial offerings related to Crossplane will be listed separately on a dedicated Enterprise page.
Implementing the New Policies
Over the coming weeks, we will work with community maintainers to bring their Crossplane extensions into compliance with these new policies. Additionally, project documentation will be updated to refer to images from GHCR.
Looking Ahead
We’re excited about the future of Crossplane and the continued growth of community contributions. We look forward to discussing these updates and other new features at this year’s KubeCon in London—be sure to stop by our booth!
The Crossplane community is at the heart of this project’s success. Whether you're a developer, user, or just interested in what we're building, we’d love to hear from you! Connect with us through the following channels:
Let’s continue building a strong, open, and vendor-neutral ecosystem together!