/crossplane

An Open Source Multicloud Control Plane

Primary LanguageGoApache License 2.0Apache-2.0

Crossplane

Build Status GitHub release Docker Pulls Go Report Card FOSSA Status Slack Twitter Follow

Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating

Overview

Crossplane is an open source multicloud control plane. It introduces workload and resource abstractions on-top of existing managed services that enables a high degree of workload portability across cloud providers. A single crossplane enables the provisioning and full-lifecycle management of services and infrastructure across a wide range of providers, offerings, vendors, regions, and clusters. Crossplane offers a universal API for cloud computing, a workload scheduler, and a set of smart controllers that can automate work across clouds.

Crossplane

Crossplane presents a declarative management style API that covers a wide range of portable abstractions including databases, message queues, buckets, data pipelines, serverless, clusters, and many more coming. It’s based on the declarative resource model of the popular Kubernetes project, and applies many of the lessons learned in container orchestration to multicloud workload and resource orchestration.

Crossplane supports a clean separation of concerns between developers and administrators. Developers define workloads without having to worry about implementation details, environment constraints, and policies. Administrators can define environment specifics, and policies. The separation of concern leads to a higher degree of reusability and reduces complexity.

Crossplane includes a workload scheduler that can factor a number of criteria including capabilities, availability, reliability, cost, regions, and performance while deploying workloads and their resources. The scheduler works alongside specialized resource controllers to ensure policies set by administrators are honored.

Architecture and Vision

The full architecture and vision of the Crossplane project is described in depth in the architecture document. It is the best place to learn more about how Crossplane fits into the Kubernetes ecosystem, the intended use cases, and comparisons to existing projects.

Getting Started and Documentation

For getting started guides, installation, deployment, and administration, see our Documentation.

Contributing

Crossplane is a community driven project and we welcome contributions. See Contributing to get started.

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Contact

Please use the following to reach members of the community:

Community Meeting

A regular community meeting takes place every other Tuesday at 9:00 AM PT (Pacific Time). Convert to your local timezone.

Any changes to the meeting schedule will be added to the agenda doc and posted to Slack #announcements and the crossplane-dev mailing list.

Anyone who wants to discuss the direction of the project, design and implementation reviews, or general questions with the broader community is welcome and encouraged to join.

Project Status

The project is an early preview. We realize that it's going to take a village to arrive at the vision of a multicloud control plane, and we wanted to open this up early to get your help and feedback. Please see the Roadmap for details on what we are planning for future releases.

API Status

Each API supported by Crossplane is assigned its own individual status to reflect the varying maturity and stability. More details about API versioning and status in Kubernetes can be found on the Kubernetes API versioning page, but the key difference between the statuses are summarized below:

  • Alpha: The API may change in incompatible ways in a later software release without notice, recommended for use only in short-lived testing clusters, due to increased risk of bugs and lack of long-term support.
  • Beta: Support for the overall features will not be dropped, though details may change. Support for upgrading or migrating between versions will be provided, either through automation or manual steps.
  • Stable: Features will appear in released software for many subsequent versions and support for upgrading between versions will be provided with software automation in the vast majority of scenarios.
Cloud Name Details API Group Status
All Compute Compute services compute.crossplane.io/v1alpha1 Alpha
All Storage Storage services storage.crossplane.io/v1alpha1 Alpha
AWS Compute Compute services compute.aws.crossplane.io/v1alpha1 Alpha
AWS Database Database services database.aws.crossplane.io/v1alpha1 Alpha
AWS Storage Storage services storage.aws.crossplane.io/v1alpha1 Alpha
Azure Compute Compute services compute.azure.crossplane.io/v1alpha1 Alpha
Azure Database Database services database.azure.crossplane.io/v1alpha1 Alpha
Azure Storage Storage services storage.azure.crossplane.io/v1alpha1 Alpha
GCP Compute Compute services compute.gcp.crossplane.io/v1alpha1 Alpha
GCP Database Database services database.gcp.crossplane.io/v1alpha1 Alpha
GCP Storage Storage services storage.gcp.crossplane.io/v1alpha1 Alpha

Official Releases

Official releases of Crossplane can be found on the releases page. Please note that it is strongly recommended that you use official releases of Crossplane, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases. Builds from the master branch can have functionality changed and even removed at any time without compatibility support and without prior notice.

Licensing

Crossplane is under the Apache 2.0 license.

FOSSA Status