docs snapshot for crossplane version `master`

This commit is contained in:
Crossplane 2019-09-18 15:32:33 +00:00
parent 72520d7953
commit 253a8b386c
2 changed files with 1101 additions and 51 deletions

View File

@ -4,84 +4,85 @@ toc: true
weight: 710
---
# Developer Guide
Welcome to the Crossplane Developer Guide!
## Overview
Infra Stacks like
[stack-gcp][stack-gcp], [stack-aws][stack-aws], and [stack-azure][stack-azure] extend Crossplane
to support managed service provisioning (databases, caches, buckets), secure
connectivity (VPCs, subnets, peering, ACLs, secrets), and provisioning managed
Kubernetes clusters on demand to further isolate the blast radius of
applications.
Infra Stacks like [stack-gcp][stack-gcp], [stack-aws][stack-aws], and
[stack-azure][stack-azure] extend Crossplane to support managed service
provisioning (databases, caches, buckets), secure connectivity (VPCs, subnets,
peering, ACLs, secrets), and provisioning managed Kubernetes clusters on demand
to further isolate the blast radius of applications.
Infra Stacks are typically pre-built and published to the [Stacks
registry][stack-registry], where they can
be installed by a cluster administrator using a
[`ClusterStackInstall`][stack-install-docs]
kind via the Kubernetes API or with the [`stack
install`][crossplane-cli-usage] command.
registry][stack-registry], where they can be installed by a cluster
administrator using a [`ClusterStackInstall`][stack-install-docs] kind via the
Kubernetes API or with the [`stack install`][crossplane-cli-usage] command.
App Stacks depend on Infra Stacks like
[stack-gcp][stack-gcp], [stack-aws][stack-aws], or [stack-azure][stack-azure]
to provide the managed services they depend on via the Kubernetes API.
App Stacks depend on Infra Stacks like [stack-gcp][stack-gcp],
[stack-aws][stack-aws], or [stack-azure][stack-azure] to provide the managed
services they depend on via the Kubernetes API.
App Stacks may also be pre-built and published to the [Stacks
registry][stack-registry] where they can
be deployed by application teams using a
[`StackInstall`][crossplane-cli-usage]]
kind via the Kubernetes API or with the [`stack
install`][crossplane-cli-usage]) command.
registry][stack-registry] where they can be deployed by application teams using
a [`StackInstall`][crossplane-cli-usage]] kind via the Kubernetes API or with
the [`stack install`][crossplane-cli-usage]) command.
## Infra Stacks
### Using Infra Stacks
The [Crossplane Services Guide][services-user-guide]
shows how to use existing Infra Stacks to deploy a Wordpress `Deployment`
that securely consumes a MySQL instance from GCP, AWS, or Azure all from
`kubectl`.
The [Crossplane Services Guide][services-user-guide] shows how to use existing
Infra Stacks to deploy a Wordpress `Deployment` that securely consumes a MySQL
instance from GCP, AWS, or Azure all from `kubectl`.
### Building Infra Stacks
Infra Stacks are out-of-tree Crossplane extensions
that can be built and published on their own schedule separate from the core
Crossplane repos.
Infra Stacks are out-of-tree Crossplane extensions that can be built and
published on their own schedule separate from the core Crossplane repos.
Crossplane enables the community to build a modular, open cloud control plane
where any cloud service or capability can be added using the [Stack
Manager][stack-manager],
an extension manager for the Kubernetes API. Crossplane Stacks simplify the work
required to build, publish, install and manage control plane extensions with a
powerful RBAC permission model, integrated dependency management, and more.
Manager][stack-manager], an extension manager for the Kubernetes API. Crossplane
Stacks simplify the work required to build, publish, install and manage control
plane extensions with a powerful RBAC permission model, integrated dependency
management, and more.
The [Infra Stack Developer Guide][infra-stack-developer-guide] shows how to:
* Extend existing Infra Stacks ([stack-gcp][stack-gcp], [stack-aws][stack-aws],
[stack-azure][stack-azure]) to add more cloud services.
The [Services Developer Guide][services-developer-guide] shows how to:
* Extend existing Infra Stacks ([stack-gcp][stack-gcp], [stack-aws][stack-aws],
[stack-azure][stack-azure]) to add more cloud services.
* Build a new Infra Stack to add more cloud providers.
* Make independent cloud offerings available via the Kubernetes API, so
application teams can use them just like standard Kubernetes resources.
## App Stacks
### Using App Stacks
The [Crossplane Stacks Guide][stacks-user-guide] guide
shows how to use a [portable App
Stack][stack-wordpress-registry] that can
deploy with any Infra Stack including:
[stack-gcp][stack-gcp], [stack-aws][stack-aws], or [stack-azure][stack-azure].
### Using App Stacks
The [Crossplane Stacks Guide][stacks-user-guide] guide shows how to use a
[portable App Stack][stack-wordpress-registry] that can deploy with any Infra
Stack including: [stack-gcp][stack-gcp], [stack-aws][stack-aws], or
[stack-azure][stack-azure].
### Building App Stacks
To learn how to build a "Hello World" Stack see the
[Stacks Quick Start][stacks-quick-start].
To learn how to build a "Hello World" Stack see the [Stacks Quick
Start][stacks-quick-start].
For a complete App Stack, see the [portable Wordpress App
Stack][stack-wordpress] with a
kubebuilder-based app
[`Controller`][kubernetes-controller]
that owns a `WordressInstance` CRD, builds a complete `KubernetesApplication`,
and automates much of what's covered in the [Crossplane Services
Guide][services-user-guide] plus dynamic cluster provisioning, so you can
provision a complete Wordpress app instance from `kubectl` using a single Kubernetes object.
Stack][stack-wordpress] with a kubebuilder-based app
[`Controller`][kubernetes-controller] that owns a `WordressInstance` CRD, builds
a complete `KubernetesApplication`, and automates much of what's covered in the
[Crossplane Services Guide][services-user-guide] plus dynamic cluster
provisioning, so you can provision a complete Wordpress app instance from
`kubectl` using a single Kubernetes object.
## Learn More
If you have any questions, please drop us a note on [Crossplane Slack][join-crossplane-slack] or [contact us][contact-us]!
If you have any questions, please drop us a note on [Crossplane
Slack][join-crossplane-slack] or [contact us][contact-us]!
To [learn more][learn-more] checkout these [useful links][learn-more].
@ -97,7 +98,7 @@ To [learn more][learn-more] checkout these [useful links][learn-more].
[stack-wordpress]: https://github.com/crossplaneio/sample-stack-wordpress
[stack-wordpress-registry]: https://hub.docker.com/r/crossplane/sample-stack-wordpress
[stack-manager]: https://github.com/crossplaneio/crossplane/blob/master/design/design-doc-stacks.md#terminology
[infra-stack-developer-guide]: developer-guide.md
[services-developer-guide]: services-developer-guide.md
[stack-quick-start]: https://github.com/crossplaneio/crossplane-cli#quick-start-stacks
[kubernetes-controller]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-controllers
[join-crossplane-slack]: https://slack.crossplane.io

File diff suppressed because it is too large Load Diff