The Cloud Native Control Plane
Go to file
Daniel Mangum 8137ca873b
Merge pull request #2021 from hasheddan/e2e2e
Pass SkipDependencyResolution to package revisions and introduce e2e tests
2020-12-10 20:16:19 -06:00
.github
apis
build@4f64913157
cluster
cmd
design
docs
hack
internal
test/e2e/pkg
.gitignore
.gitmodules
.golangci.yml
CODE_OF_CONDUCT.md
CONTRIBUTING.md
DCO
GOVERNANCE.md
LICENSE
Makefile
OWNERS.md
PROJECT
README.md
ROADMAP.md
go.mod
go.sum
install.sh

README.md

CI GitHub release Docker Pulls Go Report Card Slack Twitter Follow

Crossplane

Crossplane, a Cloud Native Computing Foundation sandbox project, is an open source Kubernetes add-on that extends any cluster with the ability to provision and manage cloud infrastructure, services, and applications using kubectl, GitOps, or any tool that works with the Kubernetes API.

With Crossplane you can:

  • Provision & manage cloud infrastructure with kubectl

    • Install Crossplane to provision and manage cloud infrastructure and services from any Kubernetes cluster.
    • Provision infrastructure primitives from any provider (GCP, AWS, Azure, Alibaba, on-prem) and use them alongside existing application configurations.
    • Version, manage, and deploy with your favorite tools and workflows that youre using with your clusters today.
  • Publish custom infrastructure resources for your applications to use

    • Define, compose, and publish your own infrastructure resources with declarative YAML, resulting in your own infrastructure CRDs being added to the Kubernetes API for applications to use.
    • Hide infrastructure complexity and include policy guardrails, so applications can easily and safely consume the infrastructure they need, using any tool that works with the Kubernetes API.
    • Consume infrastructure resources alongside any Kubernetes application to provision and manage the cloud services they need with Crossplane as an add-on to any Kubernetes cluster.
  • Deploy applications using a team-centric approach with OAM

    • Define cloud native applications and the infrastructure they require with the Open Application Model (OAM).
    • Collaborate with a team-centric approach with a strong separation of concerns:
      • Infrastructure operators - provide infrastructure and services for applications to consume
      • Application developers - build application components independent of infrastructure
      • Application operators - compose, deploy, and run application configurations
    • Deploy application configurations from app delivery pipelines or GitOps workflows, using the proven Kubernetes declarative model.

Getting Started

Take a look at the documentation to get started.

Mission

Crossplane strives to be the best Kubernetes add-on to provision and manage the infrastructure and services your applications need directly from kubectl. A huge part of this mission is arriving at an elegant, flexible way to define, compose, and publish your own infrastructure resources to the Kubernetes API and to model and manage cloud native applications.

The path of cloud native apps from developer laptop into production requires collaboration across teams to build the app itself, deploy and manage the app and its infrastructure, and publishing infrastructure resources that embody organizational best practices and security policies.

Today, multiple tools and management models must be glued together in deployment pipelines that are often fragile and error prone. Teams can find it difficult to collaborate in an effective way when aspects of an application are blurred, resulting in a lack of clear ownership and conflicts integrating changes. Requiring team members to master multiple tools, languages, and philosophies, while understanding the interactions and failure modes between them can significantly impede an organizations ability to deliver applications efficiently.

Crossplane believes that a team-centric approach with a strong separation of concerns combined with the proven Kubernetes declarative model is the best way to provision and manage infrastructure and cloud native applications. Teams should be able to publish infrastructure resources for applications to consume, define application components independent of infrastructure, and compose both into complete application configurations -- all using declarative YAML that can be deployed with kubectl from app delivery pipelines or with GitOps workflows.

This team-centric approach reflects individuals often specializing in the following roles:

  • Infrastructure Operators - provide infrastructure and services for apps to consume
  • Application Developers - build application components independent of infrastructure
  • Application Operators - compose, deploy, and run application configurations

This separation of concerns is core to Crossplanes approach to infrastructure and application management, so team members can deliver value by focusing on what they know best.

With Crossplane, infrastructure operators can define custom infrastructure resources with declarative YAML and publish them for applications to consume as Kubernetes custom resources or with any tool that works with the Kubernetes API. These infrastructure resources can be used with existing Kubernetes applications (Deployments, Services) and with application definition models like OAM.

The result is a consistent, integrated, and modular approach to managing infrastructure and application configurations, that can be deployed with the same tooling including kubectl, GitOps, and anything can talk with the Kubernetes API.

Get Involved

The Crossplane community meeting takes place every other Monday 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