Crossplane is an open source Kubernetes add-on that enables platform teams to
assemble infrastructure from multiple vendors, and expose higher level
self-service APIs for application teams to consume. Crossplane effectively
enables platform teams to quickly put together their own opinionated platform
declaratively without having to write any code, and offer it to their
application teams as a self-service Kubernetes-style declarative API.
Both the higher level abstractions as well as the granular resources they are
composed of are represented simply as objects in the Kubernetes API, meaning
they can all be provisioned and managed by kubectl, GitOps, or any tools that
can talk with the Kubernetes API. To facilitate reuse and sharing of these APIs,
Crossplane supports packaging them in a standard OCI image and distributing via
any compliant registry.
Platform engineers are able to define organizational policies and guardrails
behind these self-service API abstractions. The developer is presented with the
limited set of configuration that they need to tune for their use-case and is
not exposed to any of the complexities of the low-level infrastructure below the
API. Access to these APIs is managed with Kubernetes-native RBAC, thus enabling
the level of permissioning to be at the level of abstraction.
While extending the Kubernetes control plane with a diverse set of vendors,
resources, and abstractions, Crossplane recognized the need for a single
consistent API across all of them. To this end, we have created the Crossplane
Resource Model (XRM). XRM extends the Kubernetes Resource Model (KRM) in an
opinionated way, resulting in a universal experience for managing resources,
regardless of where they reside. When interacting with the XRM, things like
credentials, workload identity, connection secrets, status conditions, deletion
policies, and references to other resources work the same no matter what
provider or level of abstraction they are a part of.
The functionality and value of the Crossplane project can be summarized at a
very high level by these two main areas:
- Enabling infrastructure owners to build custom platform abstractions (APIs)
composed of granular resources that allow developer self-service and service
catalog use cases - Providing a universal experience for managing infrastructure, resources, and
abstractions consistently across all vendors and environments in a uniform
way, called the Crossplane Resource Model (XRM)
Releases
Currently maintained releases, as well as the next upcoming release are listed
below. For more information take a look at the Crossplane release cycle
documentation.
| Release | Current Patch | Release Date | EOL |
|---|---|---|---|
| v1.0 | v1.0.0 | Dec 14, 2020 | June 2021 |
| v1.1 | v1.1.0 | Mar 3, 2021 | August 2021 |
| v1.2 | Upcoming | Apr 27, 2021 | October 2021 |
Getting Started
Take a look at the documentation to get started.
Get Involved
- Discuss Crossplane on Slack or our developer mailing list.
- Follow us on Twitter, or contact us via Email.
- Join our regular community meetings.
- Provide feedback on our roadmap.
The Crossplane community meeting takes place every other Thursday at 10:00am
Pacific Time. Anyone who wants to discuss the direction
of the project, design and implementation reviews, or raise general questions
with the broader community is encouraged to join.
- Meeting link: https://zoom.us/j/425148449?pwd=NEk4N0tHWGpEazhuam1yR28yWHY5QT09
- Current agenda and past meeting notes
- Past meeting recordings
Crossplane is a community driven project; we welcome your contribution. To file
a bug, suggest an improvement, or request a new feature please open an issue
against Crossplane or the relevant provider. Refer to our contributing guide
for more information on how you can help.
License
Crossplane is under the Apache 2.0 license.
