crossplane

module
v1.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2021 License: Apache-2.0

README

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.1 v1.1.4 Mar 3, 2021 August 2021
v1.2 v1.2.4 Apr 27, 2021 October 2021
v1.3 v1.3.1 Jun 29, 2021 December 2021
v1.4 Upcoming Aug 31, 2021 February 2022

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

Directories

Path Synopsis
Package apis contains Kubernetes API groups
Package apis contains Kubernetes API groups
apiextensions
Package apiextensions contains Kubernetes API groups for extension types of Crossplane.
Package apiextensions contains Kubernetes API groups for extension types of Crossplane.
apiextensions/v1
Package v1 contains API types that extend the Crossplane API.
Package v1 contains API types that extend the Crossplane API.
apiextensions/v1alpha1
Package v1alpha1 contains API types that extend the Crossplane API.
Package v1alpha1 contains API types that extend the Crossplane API.
apiextensions/v1beta1
Package v1beta1 contains API types that extend the Crossplane API.
Package v1beta1 contains API types that extend the Crossplane API.
pkg
Package pkg contains Kubernetes API groups for Crossplane packages.
Package pkg contains Kubernetes API groups for Crossplane packages.
pkg/meta/v1
Package v1 contains meta types used to configure Crossplane packages.
Package v1 contains meta types used to configure Crossplane packages.
pkg/meta/v1alpha1
Package v1alpha1 contains meta types used to configure Crossplane packages.
Package v1alpha1 contains meta types used to configure Crossplane packages.
pkg/v1
Package v1 contains resources relating to Crossplane packages.
Package v1 contains resources relating to Crossplane packages.
pkg/v1alpha1
Package v1alpha1 contains resources relating to Crossplane packages.
Package v1alpha1 contains resources relating to Crossplane packages.
pkg/v1beta1
Package v1beta1 contains resources relating to Crossplane packages.
Package v1beta1 contains resources relating to Crossplane packages.
cmd
internal
client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/clientset/versioned/typed/apiextensions/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/apiextensions/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/pkg/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/pkg/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/pkg/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/pkg/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
client/clientset/versioned/typed/pkg/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/clientset/versioned/typed/pkg/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
controller/apiextensions/claim
Package claim provides a composite resource claim reconciler.
Package claim provides a composite resource claim reconciler.
dag
xcrd
Package xcrd generates CustomResourceDefinitions from Crossplane definitions.
Package xcrd generates CustomResourceDefinitions from Crossplane definitions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL