Skip to content

hasheddan/crossplane

 
 

Repository files navigation

CI GitHub release Docker Pulls Go Report Card Slack Twitter Follow

Crossplane

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:

  1. Enabling infrastructure owners to build custom platform abstractions (APIs) composed of granular resources that allow developer self-service and service catalog use cases
  2. 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

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.

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.

FOSSA Status

About

An Open Source Multicloud Control Plane

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 98.2%
  • Other 1.8%