From 04d8fb76e03a33e39b35d30fb643f78f4ea65278 Mon Sep 17 00:00:00 2001 From: Crossplane Date: Fri, 19 Mar 2021 00:35:00 +0000 Subject: [PATCH] docs snapshot for crossplane version `v1.1` --- docs/v1.1/README.md | 84 +++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 49 deletions(-) diff --git a/docs/v1.1/README.md b/docs/v1.1/README.md index cea6b1dc..d56688be 100644 --- a/docs/v1.1/README.md +++ b/docs/v1.1/README.md @@ -2,52 +2,46 @@ ![Crossplane](media/banner.png) -Crossplane 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. +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. -With Crossplane you can: +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. -* **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 - you’re using with your clusters today. +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. -* **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. +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. -* **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. - * Deploy application configurations from app delivery pipelines or GitOps - workflows, using the proven Kubernetes declarative model. +The functionality and value of the Crossplane project can be summarized at a +very high level by these two main areas: -Separation of concerns is core to Crossplane’s approach to infrastructure and -application management, so team members can deliver value by focusing on what -they know best. Crossplane's 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 +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) ## Getting Started @@ -56,11 +50,3 @@ specializing in the following roles: [Install Crossplane]: getting-started/install-configure.md -[Custom Resource Definitions]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ -[reconciling]: https://kubernetes.io/docs/concepts/architecture/controller/ -[GCP]: https://github.com/crossplane/provider-gcp -[AWS]: https://github.com/crossplane/provider-aws -[Azure]: https://github.com/crossplane/provider-azure -[Alibaba]: https://github.com/crossplane/provider-alibaba -[infrastructure resources]: https://blog.crossplane.io/crossplane-v0-10-compose-and-publish-your-own-infrastructure-crds-velero-backup-restore-compatibility-and-more/ -[OAM]: https://oam.dev/