docs snapshot for crossplane version `v1.7`

This commit is contained in:
Crossplane 2022-10-11 14:27:51 +00:00
parent 86391397c0
commit dca9f57b72
57 changed files with 445 additions and 295 deletions

View File

@ -0,0 +1,21 @@
# Overview
![Crossplane](media/banner.png)
Crossplane is an open source Kubernetes add-on that transforms your cluster into
a **universal control plane**. Crossplane enables platform teams to assemble
infrastructure from multiple vendors, and expose higher level self-service APIs
for application teams to consume, without having to write any code.
Crossplane extends your Kubernetes cluster to support orchestrating any
infrastructure or managed service. Compose Crossplane's granular resources into
higher level abstractions that can be versioned, managed, deployed and consumed
using your favorite tools and existing processes. [Install Crossplane] into any
Kubernetes cluster to get started.
Crossplane is a [Cloud Native Compute Foundation][cncf] project.
<!-- Named Links -->
[Install Crossplane]: getting-started/install-configure.md
[cncf]: https://www.cncf.io/

View File

@ -2,11 +2,10 @@
title: "Overview"
weight: -1
toc_include: false
aliases:
- /docs/v1.7/index.html
cascade:
version: 1.7
---
![Crossplane](/docs/v1.7/media/banner.png)
Crossplane is an open source Kubernetes add-on that transforms your cluster into

View File

@ -3,8 +3,6 @@ title: API Documentation
weight: 400
---
The Crossplane ecosystem contains many CRDs that map to API types represented by
external infrastructure providers. The documentation for these CRDs are
auto-generated on [doc.crds.dev]. To find the CRDs available for providers

View File

@ -24,12 +24,12 @@ spec:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#resources'
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#types-kinds'
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
@ -83,12 +83,12 @@ spec:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#resources'
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#types-kinds'
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object

View File

@ -23,12 +23,12 @@ spec:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#resources'
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#types-kinds'
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
@ -143,12 +143,12 @@ spec:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#resources'
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: {{<ref "https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions" >}}#types-kinds'
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object

View File

@ -1,6 +1,5 @@
---
title: crossplane
weight: 401
title: Crossplane
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/crossplane
to: "https://doc.crds.dev/github.com/crossplane/crossplane"
---

View File

@ -1,6 +1,5 @@
---
title: provider-alibaba
weight: 402
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/provider-alibaba
layout: redirect
---

View File

@ -1,6 +1,5 @@
---
title: provider-aws
weight: 403
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/provider-aws
---

View File

@ -1,6 +1,5 @@
---
title: provider-azure
weight: 404
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/provider-azure
---

View File

@ -1,6 +1,5 @@
---
title: provider-gcp
weight: 405
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/provider-gcp
---

View File

@ -1,6 +1,5 @@
---
title: provider-helm
weight: 407
layout: redirect
to: https://doc.crds.dev/github.com/crossplane-contrib/provider-helm
---

View File

@ -1,6 +1,5 @@
---
title: provider-rook
weight: 406
layout: redirect
to: https://doc.crds.dev/github.com/crossplane/provider-rook
---

View File

@ -3,6 +3,7 @@ title: Adding Google Cloud Platform (GCP) to Crossplane
toc_hide: true
---
In this guide, we will walk through the steps necessary to configure your GCP
account to be ready for integration with Crossplane. The general steps we will
take are summarized below:

View File

@ -3,8 +3,6 @@ title: Concepts
weight: 100
---
# Overview
Crossplane introduces multiple building blocks that enable you to provision,
compose, and consume infrastructure using the Kubernetes API. These individual
concepts work together to allow for powerful separation of concern between

View File

@ -3,10 +3,6 @@ title: Composite Resources
weight: 103
---
## Overview
Crossplane Composite Resources are opinionated Kubernetes Custom Resources that
are _composed_ of [Managed Resources][managed-resources]. We often call them XRs
for short.
@ -245,10 +241,10 @@ scenarios, including:
take minutes to provision on-demand.
[managed-resources]: {{<ref "managed-resources" >}}
[xrs-and-mrs]: /docs/v1.7/media/composition-xrs-and-mrs.svg
[xrs-and-mrs]: /docs/master/media/composition-xrs-and-mrs.svg
[xr-ref]: {{<ref "../reference/composition" >}}
[how-it-works]: /docs/v1.7/media/composition-how-it-works.svg
[how-it-works]: /docs/master/media/composition-how-it-works.svg
[crd-docs]: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
[provider-kubernetes]: https://github.com/crossplane-contrib/provider-kubernetes
[provider-helm]: https://github.com/crossplane-contrib/provider-helm
[claims-and-xrs]: /docs/v1.7/media/composition-claims-and-xrs.svg
[claims-and-xrs]: /docs/master/media/composition-claims-and-xrs.svg

View File

@ -4,9 +4,6 @@ weight: 102
---
## Overview
A Managed Resource (MR) is Crossplane's representation of a resource in an external
system - most commonly a cloud provider. Managed Resources are opinionated,
Crossplane Resource Model ([XRM][term-xrm]) compliant Kubernetes Custom
@ -445,3 +442,4 @@ including Velero.
[provider]: {{<ref "providers" >}}
[issue-727]: https://github.com/crossplane/crossplane/issues/727
[issue-1143]: https://github.com/crossplane/crossplane/issues/1143
[managed-api-patterns]: https://github.com/crossplane/crossplane/blob/master/design/one-pager-managed-resource-api-design.md

View File

@ -1,10 +1,8 @@
---
title: Packages
title: Crossplane Packages
weight: 104
---
Crossplane packages are opinionated [OCI images] that contain a stream of YAML
that can be parsed by the Crossplane package manager. Crossplane packages come
in two varieties: [Providers] and Configurations. Ultimately, the primary
@ -480,13 +478,13 @@ by [pre-pulling images] onto nodes in the cluster.
<!-- Named Links -->
[OCI images]: https://github.com/opencontainers/image-spec
[Providers]: {{<ref "providers" >}}
[Providers]: providers.md
[provider-docs]: https://doc.crds.dev/github.com/crossplane/crossplane/meta.pkg.crossplane.io/Provider/v1
[configuration-docs]: https://doc.crds.dev/github.com/crossplane/crossplane/meta.pkg.crossplane.io/Configuration/v1
[lock-api]: https://doc.crds.dev/github.com/crossplane/crossplane/pkg.crossplane.io/Lock/v1beta1
[getting-started-with-gcp]: https://github.com/crossplane/crossplane/tree/release-1.7/docs/snippets/package/gcp
[specification]: https://github.com/Masterminds/semver#basic-comparisons
[composition]: {{<ref "composition" >}}
[composition]: composition.md
[IAM Roles for Service Accounts]: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
[controller-config-docs]: https://doc.crds.dev/github.com/crossplane/crossplane/pkg.crossplane.io/ControllerConfig/v1alpha1
[package format]: https://github.com/crossplane/crossplane/blob/1aa83092172bdf0d2ed64754d33517c612ff7368/design/one-pager-package-format-v2.md

View File

@ -3,8 +3,6 @@ title: Providers
weight: 101
---
# Providers
Providers are Crossplane packages that bundle a set of [Managed
Resources][managed-resources] and their respective controllers to allow
Crossplane to provision the respective infrastructure resource.

View File

@ -2,9 +2,6 @@
title: Terminology
weight: 110
---
# Terminology
## A Note on Style
Each type of Kubernetes resource has a Pascal case name - i.e. a title case

View File

@ -3,8 +3,6 @@ title: Contributing
weight: 1000
---
# Contributing
The best place to start if you're thinking about contributing to Crossplane is
our [`CONTRIBUTING.md`] file. The following documents supplement that guide.

View File

@ -3,8 +3,6 @@ title: Adding Secret Store Support
weight: 1004
---
To add support for [External Secret Stores] in a provider, we need the following
changes at a high level:

View File

@ -0,0 +1,187 @@
---
title: "Crossplane Documentation"
weight: 2000
---
- [Code of Conduct](#code-of-conduct)
- [Reporting](#reporting)
- [Licensing](#licensing)
- [Directory structure](#directory-structure)
- [Run Hugo](#run-hugo)
- [Documentation issues and feature requests](#documentation-issues-and-feature-requests)
- [Contributing](#contributing)
- [Front matter](#front-matter)
- [New Crossplane versions](#new-crossplane-versions)
- [Excluding pages from the Table of Contents](#excluding-pages-from-the-table-of-contents)
- [Links](#links)
- [Linking between docs pages](#linking-between-docs-pages)
- [Linking to external sites](#linking-to-external-sites)
- [Tabs](#tabs)
## Code of Conduct
We follow the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
Taken directly from the CNCF CoC:
>As contributors and maintainers in the CNCF community, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
>
>We are committed to making participation in the CNCF community a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
### Reporting
To report violations contact the Crossplane maintainers at `info@crossplane.io` or the CNCF at `conduct@cncf.io`.
## Licensing
The Crossplane documentation is under the [Creative Commons Attribution](https://creativecommons.org/licenses/by/4.0/) license. CC-BY allows reuse, remixing and republishing of Crossplane documentation with attribution to the Crossplane organization.
### Directory structure
The relevant directories of the docs repository are:
| Directory | Purpose |
| ----- | ---- |
| `content` | Markdown files for all individual pages. |
| `static/images` | Location for all image files. |
| `themes` | HTML templates and Hugo tooling. |
All markdown content exists within the `/content` directory.
All image files exist within `static/images`.
### Run Hugo
* Follow the [Hugo documentation](https://gohugo.io/getting-started/installing/) to install Hugo.
* Run `hugo server`
* Go to [http://localhost:1313](http://localhost:1313)
Crossplane documentation uses [Hugo v0.101.0](https://github.com/gohugoio/hugo/releases/tag/v0.101.0), but newer versions are compatible.
### Documentation issues and feature requests
Use [GitHub Issues](https://github.com/crossplane/crossplane.github.io/issues) to report a problem or request documentation content.
## Contributing
The `/content` directory contains all documentation pages.
Each version of Crossplane software maintains a unique directory within `content`.
### Front matter
Each page contains metadata called [front matter](https://gohugo.io/content-management/front-matter/). Each page requires front matter to render.
```yaml
---
title: "Troubleshooting Crossplane"
weight: 610
---
```
`title` defines the name of the page.
`weight` determines the ordering of the page in the table of contents. Lower weight pages come before higher weights in the table of contents. The value of `weight` is otherwise arbitrary.
The `weight` of a directory's `_index.md` page moves the entire section of content in the table of contents.
#### New Crossplane versions
To create documentation for a new version of Crossplane copy the current `master` folder and rename it to the desired version.
The naming convention follows `v<major>.<minor>`. Maintenance release and individual builds do not have unique documentation.
After creating a new directory edit the `/content/<version>/_index.md` file to set the version for all sub-pages define `verison:` as a child element under `cascade:`.
For example, set the version to `v8.6`:
```
---
title: "Overview"
weight: 1
toc_include: false
cascade:
version: 8.6
---
```
You **must** set the version number as a valid float to generate the version drop down menus within the docs.
The version set in the front matter is independent from the directory name.
#### Excluding pages from the Table of Contents
Pages can be hidden from the left-side table of contents with front matter settings.
To exclude a page from the table of contents set
`toc_include: false`
in the page front matter.
For example,
```
---
title: "Overview"
weight: 1
toc_include: false
---
```
The `/content/<version>/_index.md` page must have this set.
### Links
#### Linking between docs pages
Link between pages or sections within the documentation using standard [markdown link syntax](https://www.markdownguide.org/basic-syntax/#links). Use the [Hugo ref shortcode](https://gohugo.io/content-management/shortcodes/#ref-and-relref) with the path of the file relative to `/content` for the link location.
For example, to link to the "Official Providers" page create a markdown link like this:
```markdown
[a link to the Official Providers page]({{</* ref "providers/_index.md" */>}})
```
The `ref` value is of the markdown file, including `.md` extension. Don't link to a web address.
If the `ref` value points to a page that doesn't exist, Hugo fails to start.
For example, providing `index.md` instead of `_index.md` would cause an error like the this:
```shell
Start building sites …
hugo v0.101.0-466fa43c16709b4483689930a4f9ac8add5c9f66 darwin/arm64 BuildDate=2022-06-16T07:09:16Z VendorInfo=gohugoio
ERROR 2022/09/13 13:53:46 [en] REF_NOT_FOUND: Ref "contributing/index.md": "/home/user/crossplane.github.io/content/contributing.md:64:41": page not found
Error: Error building site: logged 1 error
```
Using `ref` ensures links render in the staging environment and prevents broken links.
#### Linking to external sites
Minimize linking to external sites. When linking to any page outside of `crossplane.io` use standard [markdown link syntax](https://www.markdownguide.org/basic-syntax/#links) without using the `ref` shortcode.
For example,
```markdown
[Go to Upbound](http://upbound.io)
```
### Tabs
Use tabs to present information about a single topic with multiple exclusive options. For example, creating a resource via command-line or GUI.
To create a tab set, first create a `tabs` shortcode and use multiple `tab` shortcodes inside for each tab.
Each `tabs` shortcode requires a name that's unique to the page it's on. Each `tab` name is the title of the tab on the webpage.
For example
```
{{</* tabs "my-unique-name" */>}}
{{</* tab "Command-line" */>}}
An example tab. Place anything inside a tab.
{{</* /tab */>}}
{{</* tab "GUI" */>}}
A second example tab.
{{</* /tab */>}}
{{</* /tabs */>}}
```
This code block renders the following tabs
{{< tabs "my-unique-name" >}}
{{< tab "Command-line" >}}
An example tab. Place anything inside a tab.
{{< /tab >}}
{{< tab "GUI" >}}
A second example tab.
{{< /tab >}}
{{< /tabs >}}
Both `tab` and `tabs` require opening and closing tags. Unclosed tags causes Hugo to fail.

View File

@ -3,8 +3,6 @@ title: Observability Developer Guide
weight: 1002
---
## Introduction
Observability is crucial to Crossplane users; both those operating Crossplane

View File

@ -3,8 +3,6 @@ title: Provider Development Guide
weight: 1001
---
Crossplane allows you to manage infrastructure directly from Kubernetes. Each
infrastructure API resource that Crossplane orchestrates is known as a "managed
resource". This guide will walk through the process of adding support for a new

View File

@ -3,8 +3,6 @@ title: Release Process
weight: 1003
---
This document is meant to be a complete end-to-end guide for how to release new
versions of software for Crossplane and its related projects.

View File

@ -3,8 +3,6 @@ title: FAQ
weight: 1200
---
### Where did the name Crossplane come from?
Crossplane is the fusing of cross-cloud control plane. We wanted to use a noun

View File

@ -3,8 +3,6 @@ title: Related Projects
weight: 1201
---
While there are many projects that address similar issues, none of them
encapsulate the full use case that Crossplane addresses. This list is not
exhaustive and is not meant to provide a deep analysis of the following

View File

@ -1,8 +1,9 @@
---
title: "Getting Started"
weight: 1
title: Getting Started
weight: 4
---
![Crossplane](/docs/v1.7/media/banner.png)
![Crossplane](/docs/master/media/banner.png)
Crossplane is an open source Kubernetes add-on that transforms your cluster into
a **universal control plane**. Crossplane enables platform teams to assemble

View File

@ -3,8 +3,6 @@ title: Create a Configuration
weight: 4
---
In the [previous section] we were able to create a PostgreSQL database because
we had installed a configuration package that defined the `PostgreSQLInstance`
type and a `Composition` of managed resources that mapped to it. Crossplane
@ -47,7 +45,7 @@ into a package.
## Create CompositeResourceDefinition
First we'll create a `CompositeResourceDefinition` (XRD) to define the schema of
our `XPostgreSQLInstance` and its `PostgreSQLInstance` resource claim.
our `XPostgreSQLInstance` and its `PostgreSQLInstance` resource claim.
```yaml
apiVersion: apiextensions.crossplane.io/v1

View File

@ -2,119 +2,95 @@
title: Install & Configure
weight: 2
---
## Choosing Your Crossplane Distribution
Users looking to use Crossplane for the first time have two options available to
them today. The first way is to use the version of Crossplane which is
them today. The first way is to use the version of Crossplane which is
maintained and released by the community and found on the [Crossplane GitHub].
The second option is to use a vendor supported Crossplane distribution. These
distributions are [certified by the CNCF] to be conformant with Crossplane, but
may include additional features or tooling around it that makes it easier to use
The second option is to use a vendor supported Crossplane distribution. These
distributions are [certified by the CNCF] to be conformant with Crossplane, but
may include additional features or tooling around it that makes it easier to use
in production environments.
<ul class="nav nav-tabs">
<li class="active"><a href="#using-upstream-crossplane" data-toggle="tab">Crossplane (upstream)</a></li>
<li><a href="#using-a-downstream-distro" data-toggle="tab">Downstream Distributions</a></li>
</ul>
<br>
<!-- Begin Distro Tabs -->
<div class="tab-content">
<!-- Begin Upstream Tab -->
<div class="tab-pane fade in active" id="using-upstream-crossplane" markdown="1">
{{% tabs "Crossplane Distros" %}}
{{% tab "Crossplane (upstream)" %}}
## Start with Upstream Crossplane
Installing Crossplane into an existing Kubernetes cluster will require a bit
more setup, but can provide more flexibility for users who need it.
more setup, but can provide more flexibility for users who need it.
### Get a Kubernetes Cluster
<!-- inside Crossplane (upstream) -->
{{% tabs "Kubernetes Clusters" %}}
{{% tab "macOS via Homebrew" %}}
<ul class="nav nav-tabs">
<li class="active"><a href="#setup-mac-brew" data-toggle="tab">macOS via Homebrew</a></li>
<li><a href="#setup-mac-linux" data-toggle="tab">macOS / Linux</a></li>
<li><a href="#setup-windows" data-toggle="tab">Windows</a></li>
</ul>
<br>
<!-- Begin Get Cluster Tabs -->
<div class="tab-content">
<!-- Begin MacOS Tab -->
<div class="tab-pane fade in active" id="setup-mac-brew" markdown="1">
For macOS via Homebrew use the following:
```console
```bash
brew upgrade
brew install kind
brew install kubectl
brew install helm
kind create cluster --image kindest/node:v1.23.0 --wait 5m
```
</div>
<!-- End MacOS Tab -->
<!-- close "macOS via Homebrew" -->
{{% /tab %}}
{{% tab "macOS / Linux" %}}
<!-- Begin Linux Tab -->
<div class="tab-pane fade" id="setup-mac-linux" markdown="1">
For macOS / Linux use the following:
* [Kubernetes cluster]
* [Kind]
* [Minikube], minimum version `v0.28+`
* etc.
* [Kubernetes cluster](https://kubernetes.io/docs/setup/)
* [Kind](https://kind.sigs.k8s.io/docs/user/quick-start/)
* [Minikube](https://minikube.sigs.k8s.io/docs/start/), minimum version `v0.28+`
* etc.
* [Helm](https://helm.sh/docs/intro/using_helm/), minimum version `v3.0.0+`.
* [Helm], minimum version `v3.0.0+`.
<!-- close "macOS / Linux" -->
{{% /tab %}}
</div>
<!-- End Linux Tab -->
<!-- Begin Windows Tab -->
<div class="tab-pane fade" id="setup-windows" markdown="1">
{{% tab "Windows" %}}
For Windows use the following:
* [Kubernetes cluster]
* [Kind]
* [Minikube], minimum version `v0.28+`
* etc.
* [Kubernetes cluster](https://kubernetes.io/docs/setup/)
* [Kind](https://kind.sigs.k8s.io/docs/user/quick-start/)
* [Minikube](https://minikube.sigs.k8s.io/docs/start/), minimum version `v0.28+`
* etc.
* [Helm](https://helm.sh/docs/intro/using_helm/), minimum version `v3.0.0+`.
* [Helm], minimum version `v3.0.0+`.
<!-- close "Windows" -->
{{% /tab %}}
</div>
<!-- End Windows Tab -->
</div>
<!-- End Get Cluster Tabs -->
<!-- close "Kubernetes Clusters" -->
{{% /tabs %}}
### Install Crossplane
<ul class="nav nav-tabs">
<li class="active"><a href="#install-tab-helm3" data-toggle="tab">Helm 3 (stable)</a></li>
<li><a href="#install-tab-helm3-latest" data-toggle="tab">Helm 3 (latest)</a></li>
</ul>
<br>
<!-- Begin Helm Tabs -->
<div class="tab-content">
{{% tabs "install with helm" %}}
<!-- Begin Stable Tab -->
<div class="tab-pane fade in active" id="install-tab-helm3" markdown="1">
{{% tab "Helm 3 (stable)" %}}
Use Helm 3 to install the latest official `stable` release of Crossplane, suitable for community use and testing:
```console
```bash
kubectl create namespace crossplane-system
helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update
helm install crossplane --namespace crossplane-system crossplane-stable/crossplane
```
</div>
<!-- End Stable Tab -->
<!-- close "Helm 3 (stable)" -->
{{% /tab %}}
<!-- Begin Latest Tab -->
<div class="tab-pane fade" id="install-tab-helm3-latest" markdown="1">
{{% tab "Helm 3 (latest)" %}}
<!-- fold start -->
Use Helm 3 to install the latest pre-release version of Crossplane:
```console
```bash
kubectl create namespace crossplane-system
helm repo add crossplane-master https://charts.crossplane.io/master/
@ -127,20 +103,18 @@ helm install crossplane --namespace crossplane-system crossplane-master/crosspla
For example:
```console
```bash
helm install crossplane --namespace crossplane-system crossplane-master/crossplane \
--version 0.11.0-rc.100.gbc5d311 --devel
```
</div>
<!-- End Latest Tab -->
</div>
<!-- End Helm Tabs -->
<!-- close "Helm 3 (latest)" -->
{{% /tab %}}
<!-- close "install with helm" -->
{{% /tabs %}}
### Check Crossplane Status
```console
```bash
helm list -n crossplane-system
kubectl get all -n crossplane-system
@ -151,29 +125,18 @@ kubectl get all -n crossplane-system
The Crossplane CLI extends `kubectl` with functionality to build, push, and
install [Crossplane packages]:
<ul class="nav nav-tabs">
<li class="active"><a href="#install-tab-cli" data-toggle="tab">Stable</a></li>
<li><a href="#install-tab-cli-latest" data-toggle="tab">Latest</a></li>
</ul>
<br>
{{% tabs "crossplane CLI" %}}
<!-- Begin CLI Tabs -->
<div class="tab-content">
<!-- Begin CLI Stable Tab -->
<div class="tab-pane fade in active" id="install-tab-cli" markdown="1">
```console
{{% tab "Stable" %}}
```bash
curl -sL https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | sh
```
<!-- close "Stable" -->
{{% /tab %}}
</div>
<!-- End CLI Stable Tab -->
{{% tab "Latest" %}}
<!-- Begin CLI Latest Tab -->
<div class="tab-pane fade" id="install-tab-cli-latest" markdown="1">
```console
```bash
curl -sL https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | CHANNEL=master sh
```
@ -181,15 +144,14 @@ You may also specify `VERSION` for download if you would like to select a
specific version from the given release channel. If a version is not specified
the latest version from the release channel will be used.
```console
```bash
curl -sL https://raw.githubusercontent.com/crossplane/crossplane/master/install.sh | CHANNEL=master VERSION=v1.0.0-rc.0.130.g94f34fd3 sh
```
<!-- close "Latest" -->
{{% /tab %}}
</div>
<!-- End CLI Latest Tab -->
</div>
<!-- End CLI tabs -->
<!-- close "crossplane CLI" -->
{{% /tabs %}}
## Select a Getting Started Configuration
@ -220,32 +182,21 @@ single `storageGB` parameter, and creates a connection `Secret` with keys for
`username`, `password`, and `endpoint`. A `Configuration` exists for each
provider that can satisfy a `PostgreSQLInstance`. Let's get started!
<ul class="nav nav-tabs">
<li class="active"><a href="#aws-tab-1" data-toggle="tab">AWS (Default VPC)</a></li>
<li><a href="#aws-new-tab-1" data-toggle="tab">AWS (New VPC)</a></li>
<li><a href="#gcp-tab-1" data-toggle="tab">GCP</a></li>
<li><a href="#azure-tab-1" data-toggle="tab">Azure</a></li>
</ul>
<br>
<!-- Begin Cloud Provider Tabs -->
<div class="tab-content">
<!-- Begin AWS Default VPC Tab -->
<div class="tab-pane fade in active" id="aws-tab-1" markdown="1">
{{% tabs "getting started" %}}
{{% tab "AWS (Default VPC)" %}}
### Install Configuration Package
> If you prefer to see the contents of this configuration package and how it is
> constructed prior to install, skip ahead to the [create a configuration]
> section.
```console
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-aws:v1.7.3
```bash
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-aws:latest
```
Wait until all packages become healthy:
```
```bash
watch kubectl get pkg
```
@ -253,13 +204,13 @@ watch kubectl get pkg
Using an AWS account with permissions to manage RDS databases:
```console
```bash
AWS_PROFILE=default && echo -e "[default]\naws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)\naws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf
```
### Create a Provider Secret
```console
```bash
kubectl create secret generic aws-creds -n crossplane-system --from-file=creds=./creds.conf
```
@ -281,28 +232,25 @@ spec:
name: aws-creds
key: creds
```
```console
```bash
kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/release-1.7/docs/snippets/configure/aws/providerconfig.yaml
```
<!-- close "AWS (Default VPC)" -->
{{% /tab %}}
</div>
<!-- End AWS Default VPC Tab -->
<!-- Begin AWS New VPC Tab -->
<div class="tab-pane fade" id="aws-new-tab-1" markdown="1">
{{% tab "AWS (New VPC)" %}}
### Install Configuration Package
> If you prefer to see the contents of this configuration package and how it is
> constructed prior to install, skip ahead to the [create a configuration]
> section.
```console
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-aws-with-vpc:v1.7.3
```bash
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-aws-with-vpc:latest
```
Wait until all packages become healthy:
```
```bash
watch kubectl get pkg
```
@ -310,13 +258,13 @@ watch kubectl get pkg
Using an AWS account with permissions to manage RDS databases:
```console
```bash
AWS_PROFILE=default && echo -e "[default]\naws_access_key_id = $(aws configure get aws_access_key_id --profile $AWS_PROFILE)\naws_secret_access_key = $(aws configure get aws_secret_access_key --profile $AWS_PROFILE)" > creds.conf
```
### Create a Provider Secret
```console
```bash
kubectl create secret generic aws-creds -n crossplane-system --from-file=creds=./creds.conf
```
@ -338,15 +286,14 @@ spec:
name: aws-creds
key: creds
```
```console
```bash
kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/release-1.7/docs/snippets/configure/aws/providerconfig.yaml
```
<!-- close "AWS (New VPC)" -->
{{% /tab %}}
</div>
<!-- End AWS New VPC Tab -->
<!-- Begin GCP Tab -->
<div class="tab-pane fade" id="gcp-tab-1" markdown="1">
{{% tab "GCP" %}}
### Install Configuration Package
@ -354,8 +301,8 @@ kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/release
> constructed prior to install, skip ahead to the [create a configuration]
> section.
```console
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-gcp:v1.7.3
```bash
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-gcp:latest
```
Wait until all packages become healthy:
@ -365,7 +312,7 @@ watch kubectl get pkg
### Get GCP Account Keyfile
```console
```bash
# replace this with your own gcp project id and the name of the service account
# that will be created.
PROJECT_ID=my-project
@ -389,7 +336,7 @@ gcloud iam service-accounts keys create creds.json --project $PROJECT_ID --iam-a
### Create a Provider Secret
```console
```bash
kubectl create secret generic gcp-creds -n crossplane-system --from-file=creds=./creds.json
```
@ -398,7 +345,7 @@ kubectl create secret generic gcp-creds -n crossplane-system --from-file=creds=.
We will create the following `ProviderConfig` object to configure credentials
for GCP Provider:
```console
```bash
# replace this with your own gcp project id
PROJECT_ID=my-project
echo "apiVersion: gcp.crossplane.io/v1beta1
@ -414,12 +361,10 @@ spec:
name: gcp-creds
key: creds" | kubectl apply -f -
```
<!-- close "GCP" -->
{{% /tab %}}
</div>
<!-- End GCP Tab -->
<!-- Begin Azure Tab -->
<div class="tab-pane fade" id="azure-tab-1" markdown="1">
{{% tab "Azure" %}}
### Install Configuration Package
@ -427,8 +372,8 @@ spec:
> constructed prior to install, skip ahead to the [create a configuration]
> section.
```console
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-azure:v1.7.3
```bash
kubectl crossplane install configuration registry.upbound.io/xp/getting-started-with-azure:latest
```
Wait until all packages become healthy:
@ -438,14 +383,14 @@ watch kubectl get pkg
### Get Azure Principal Keyfile
```console
```bash
# create service principal with Owner role
az ad sp create-for-rbac --sdk-auth --role Owner > "creds.json"
az ad sp create-for-rbac --role Contributor --scopes /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx > "creds.json"
```
### Create a Provider Secret
```console
```bash
kubectl create secret generic azure-creds -n crossplane-system --from-file=creds=./creds.json
```
@ -468,32 +413,27 @@ spec:
key: creds
```
```console
```bash
kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/release-1.7/docs/snippets/configure/azure/providerconfig.yaml
```
<!-- close "Azure" -->
{{% /tab %}}
</div>
<!-- End Azure Tab -->
</div>
<!-- End Cloud Provider Tabs -->
{{% /tabs %}}
## Next Steps
Now that you have configured Crossplane with support for `PostgreSQLInstance`,
you can [provision infrastructure].
<!-- close "Crossplane (upstream)" -->
{{% /tab %}}
</div>
<!-- End Upstream Tab -->
<!-- Begin Downstream Tab -->
<div class="tab-pane fade" id="using-a-downstream-distro" markdown="1">
{{% tab "Downstream Distribution" %}}
## Start with a Downstream Distribution
Upbound, the founders of Crossplane, maintains a free and open source downstream
distribution of Crossplane which makes getting started with Crossplane easy.
Universal Crossplane, or UXP for short, connects to Upbound's hosted management
distribution of Crossplane which makes getting started with Crossplane easy.
Universal Crossplane, or UXP for short, connects to Upbound's hosted management
console and Registry to make it easier to develop, debug, and manage Provider
and Configuration packages.
@ -502,11 +442,11 @@ and Configuration packages.
<i>Want see another hosted Crossplane service listed? Please [reach out on
Slack][Slack] and our community will highlight it here!</i>
</div>
<!-- End Downstream Tab -->
<!-- close "Downstream Distribution" -->
{{% /tab %}}
</div>
<!-- End Distro Tabs -->
<!-- close "Crossplane Distros" -->
{{% /tabs %}}
## More Info

View File

@ -3,8 +3,6 @@ title: Provision Infrastructure
weight: 3
---
Composite resources (XRs) are always cluster scoped - they exist outside of any
namespace. This allows an XR to represent infrastructure that might be consumed
from several different namespaces. This is often true for VPC networks - an

View File

@ -3,8 +3,6 @@ title: Guides
weight: 200
---
# Guides
This section contains guides for using Crossplane in specific scenarios or
alongside other technologies. If you are interested in writing and
maintaining a guide for your own use-case please feel free to [open an issue] to

View File

@ -1,10 +1,7 @@
---
title: Composition Revisions
weight: 260
---
This guide discusses the use of "Composition Revisions" to safely make and roll
back changes to a Crossplane [`Composition`][composition-type]. It assumes
familiarity with Crossplane, and particularly with

View File

@ -3,8 +3,6 @@ title: Multi-Tenant Crossplane
weight: 240
---
# Multi-Tenant Crossplane
This guide describes how to use Crossplane effectively in multi-tenant
environments by utilizing Kubernetes primitives and compatible policy
enforcement projects in the cloud-native ecosystem.
@ -23,14 +21,15 @@ those with more complex environments, may choose to incorporate third-party
policy engines, or scale to multiple Crossplane clusters. The following sections
describe each of these scenarios in greater detail.
- [TL;DR](#tldr)
- [Background](#background)
- [Cluster Scoped Managed Resources](#cluster-scoped-managed-resources)
- [Namespace Scoped Claims](#namespace-scoped-claims)
- [Single Cluster Multi Tenancy](#single-cluster-multi-tenancy)
- [Cluster-Scoped Managed Resources](#cluster-scoped-managed-resources)
- [Namespace Scoped Claims](#namespace-scoped-claims)
- [Single Cluster Multi-Tenancy](#single-cluster-multi-tenancy)
- [Composition as an Isolation Mechanism](#composition-as-an-isolation-mechanism)
- [Namespaces as an Isolation Mechanism](#namespaces-as-an-isolation-mechanism)
- [Policy Enforcement with Open Policy Agent](#policy-enforcement-with-open-policy-agent)
- [Multi Cluster Multi Tenancy](#multi-cluster-multi-tenancy)
- [Multi-Cluster Multi-Tenancy](#multi-cluster-multi-tenancy)
- [Reproducible Platforms with Configuration Packages](#reproducible-platforms-with-configuration-packages)
- [Control Plane of Control Planes](#control-plane-of-control-planes)
- [Service Provisioning using Open Service Broker API](#service-provisioning-using-open-service-broker-api)
@ -221,7 +220,7 @@ spec:
key: creds
```
2. Define a `Composition` that patches the name of the Claim reference in the XR
2. Define a `Composition` that patches the namespace of the Claim reference in the XR
to the `providerConfigRef` of the `RDSInstance`.
```yaml

View File

@ -1,13 +1,9 @@
---
title: Self-Signed CA Certs
toc: true
weight: 270
indent: true
title: Self-Signed CA Certs
weight: 270
---
> ! Using self-signed certificates is not advised in production, it is
> Using self-signed certificates is not advised in production, it is
recommended to only use self-signed certificates for testing.
When Crossplane loads Configuration and Provider Packages from private
@ -50,4 +46,4 @@ in an `override.yaml` file would look like this:
registryCaBundleConfig:
name: ca-bundle-config
key: ca-bundle
```
```

View File

@ -3,8 +3,6 @@ title: Upgrading to v0.14
weight: 210
---
Crossplane made a small handful of breaking changes in v0.14. The most broadly
impactful change was updating the `CompositeResourceDefinition` (XRD) schema to
support defining multiple versions of a composite resource (XR) at once. This

View File

@ -3,8 +3,6 @@ title: Upgrading to v1.x
weight: 220
---
Crossplane versions post v1.0 do not introduce any breaking changes, but may
make some backward compatible changes to the core Crossplane CRDs. Helm [does
not currently touch CRDs](https://github.com/helm/helm/issues/6581) when a chart

View File

@ -2,7 +2,6 @@
title: Vault as an External Secret Store
weight: 230
---
\
This guide walks through the steps required to configure Crossplane and
its Providers to use [Vault] as an [External Secret Store]. For the sake of

View File

@ -4,7 +4,6 @@ weight: 230
---
> This guide is adapted from the [Vault on Minikube] and [Vault Kubernetes
> Sidecar] guides.
@ -314,7 +313,8 @@ kubectl get cloudsqlinstance -w
[Vault Kubernetes Sidecar]: https://learn.hashicorp.com/tutorials/vault/kubernetes-sidecar
[Vault]: https://www.vaultproject.io/
[Vault Kubernetes Sidecar]: https://www.vaultproject.io/docs/platform/k8s/injector
[provider-gcp]: https://github.com/crossplane/provider-gcp
[provider-gcp]: https://github.com/crossplane-contrib/provider-gcp
[provider-aws]: https://github.com/crossplane-contrib/provider-aws
[AWS]: https://www.vaultproject.io/docs/secrets/aws
[Azure]: https://www.vaultproject.io/docs/secrets/azure
[GCP]: https://www.vaultproject.io/docs/secrets/gcp

View File

@ -3,8 +3,6 @@ title: Reference
weight: 300
---
# Overview
The reference documentation includes answers to frequently asked questions,
information about similar projects, and links to resources that can help you
learn more about Crossplane and Kubernetes. If you have additional information
@ -12,10 +10,10 @@ that you think would be valuable for the community, please feel free to [open a
pull request] and add it.
1. [Install]
1. [Configure]
1. [Uninstall]
1. [Troubleshoot]
1. [Learn More]
2. [Configure]
3. [Uninstall]
4. [Troubleshoot]
5. [Learn More]
<!-- Named Links -->

View File

@ -3,6 +3,7 @@ title: Composition
weight: 304
---
This reference provides detailed examples of defining, configuring, and using
Composite Resources in Crossplane. You can also refer to Crossplane's [API
documentation][api-docs] for more details. If you're looking for a more general
@ -644,8 +645,6 @@ the composed resource. The name of this check can be a little confusing in that
a field that exists with a zero value (e.g. an empty string or zero integer) is
not considered to be 'empty', and thus will pass the readiness check.
`None`. Considers the composed resource to be ready as soon as it exists.
```yaml
# The composed resource will be considered ready if and when 'online' status
# field exists.
@ -778,7 +777,7 @@ so:
[crd-docs]: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
[raise an issue]: https://github.com/crossplane/crossplane/issues/new?assignees=&labels=enhancement&template=feature_request.md
[issue-2524]: https://github.com/crossplane/crossplane/issues/2524
[field-paths]: https://github.com/kubernetes/community/blob/61f3d0/contributors/devel/sig-architecture/api-conventions.md#selecting-fields
[field-paths]: https://github.com/kubernetes/community/blob/61f3d0/contributors/devel/sig-architecture/api-conventions.md#selecting-fields
[pkg/fmt]: https://pkg.go.dev/fmt
[trouble-ref]: {{<ref "troubleshoot" >}}
[crossplane-contrib]: https://github.com/crossplane-contrib

View File

@ -3,8 +3,6 @@ title: Configure Your Cloud Provider Account
weight: 302
---
In order for Crossplane to be able to manage resources in a specific cloud
provider, you will need to create an account for Crossplane to use. Use the
links below for cloud-specific instructions to create an account that can be

View File

@ -5,6 +5,8 @@ weight: 301
# Install Crossplane
Crossplane can be easily installed into any existing Kubernetes cluster using
the regularly published Helm chart. The Helm chart contains all the custom
resources and controllers needed to deploy and configure Crossplane.
@ -160,5 +162,5 @@ imagePullSecrets:
<!-- Named Links -->
[Kubernetes cluster]: https://kubernetes.io/docs/setup/
[Minikube]: https://minikube.sigs.k8s.io/docs/start/
[Helm]: https://helm.sh/docs/intro/using_helm/
[Minikube]: https://kubernetes.io/docs/tasks/tools/install-minikube/
[Helm]: https://docs.helm.sh/using_helm/

View File

@ -3,8 +3,6 @@ title: Learn More
weight: 307
---
If you have any questions, please drop us a note on [Crossplane Slack][join-crossplane-slack] or [contact us][contact-us]!
***Learn more about using Crossplane***

View File

@ -3,7 +3,8 @@ title: Release Cycle
weight: 308
---
Starting with the v1.10.0 release, Crossplane is released on a quarterly (13
week) cadence. A cycle is comprised of three general stages:
Starting with the v1.0.0 release, Crossplane is released on an eight week
cadence. A cycle is comprised of three general stages:

View File

@ -3,8 +3,6 @@ title: Troubleshoot
weight: 306
---
# Troubleshooting
* [Requested Resource Not Found]
* [Resource Status and Conditions]
* [Resource Events]

View File

@ -1,10 +1,8 @@
---
title: Uninstall
title: Uninstall Crossplane
weight: 303
---
# Uninstalling
Crossplane has a number of components that must be cleaned up in order to
guarantee proper removal from the cluster. When deleting objects, it is best to
consider parent-child relationships and clean up the children first to ensure

View File

@ -3,8 +3,6 @@ title: xpkg Specification
weight: 305
---
# Overview
Crossplane supports two types of [packages]: Providers and Configurations. These
packages are distributed as generic [OCI images], which contain [YAML] content
informing the Crossplane package manager how to alter the state of a cluster by

View File

@ -1,14 +1,29 @@
apiVersion: meta.pkg.crossplane.io/v1alpha1
apiVersion: meta.pkg.crossplane.io/v1
kind: Configuration
metadata:
name: getting-started-with-aws-with-vpc
annotations:
meta.crossplane.io/maintainer: Crossplane Maintainers <info@crossplane.io>
meta.crossplane.io/source: github.com/crossplane/crossplane
meta.crossplane.io/license: Apache-2.0
meta.crossplane.io/description: |
An introductory example to Crossplane and Composition for AWS.
meta.crossplane.io/readme: |
An introductory example to Crossplane and Composition for AWS.
This will enable provisioning of an RDS database instance.
The example also illustrates how to specify a non-default VPC.
[Install &
Configure](https://crossplane.io/docs/master/getting-started/install-configure.html)
[Provision a PostgreSQL RDS
Database](https://crossplane.io/docs/master/getting-started/provision-infrastructure.html)
guide: quickstart
provider: aws
vpc: new
spec:
crossplane:
version: ">=v1.4.0-0"
version: ">=v1.8.0-0"
dependsOn:
- provider: crossplane/provider-aws
version: ">=v0.18.2"
version: ">=v0.24.1"

View File

@ -26,12 +26,14 @@ spec:
properties:
spec:
type: object
description: "The OpenAPIV3Schema of this Composite Resource Definition."
properties:
parameters:
type: object
properties:
storageGB:
type: integer
description: "The desired storage capacity of the database, in GB."
required:
- storageGB
required:

View File

@ -1,14 +1,29 @@
apiVersion: meta.pkg.crossplane.io/v1alpha1
apiVersion: meta.pkg.crossplane.io/v1
kind: Configuration
metadata:
name: getting-started-with-aws
annotations:
meta.crossplane.io/maintainer: Crossplane Maintainers <info@crossplane.io>
meta.crossplane.io/source: github.com/crossplane/crossplane
meta.crossplane.io/license: Apache-2.0
meta.crossplane.io/description: |
An introductory example to Crossplane and Composition for AWS.
meta.crossplane.io/readme: |
An introductory example to Crossplane and Composition for AWS.
This will enable provisioning of an RDS database instance.
[Install &
Configure](https://crossplane.io/docs/master/getting-started/install-configure.html)
[Provision a PostgreSQL RDS
Database](https://crossplane.io/docs/master/getting-started/provision-infrastructure.html)
labels:
guide: quickstart
provider: aws
vpc: default
spec:
crossplane:
version: ">=v1.4.0-0"
version: ">=v1.8.0-0"
dependsOn:
- provider: crossplane/provider-aws
version: ">=v0.18.2"
version: ">=v0.24.1"

View File

@ -26,12 +26,14 @@ spec:
properties:
spec:
type: object
description: "The OpenAPIV3Schema of this Composite Resource Definition."
properties:
parameters:
type: object
properties:
storageGB:
type: integer
description: "The desired storage capacity of the database, in GB."
required:
- storageGB
required:

View File

@ -30,6 +30,8 @@ spec:
location: West US 2
sslEnforcement: Disabled
version: "11"
storageProfile:
storageMB: 5120
sku:
tier: GeneralPurpose
capacity: 2

View File

@ -1,13 +1,27 @@
apiVersion: meta.pkg.crossplane.io/v1alpha1
apiVersion: meta.pkg.crossplane.io/v1
kind: Configuration
metadata:
name: getting-started-with-azure
annotations:
meta.crossplane.io/maintainer: Crossplane Maintainers <info@crossplane.io>
meta.crossplane.io/source: github.com/crossplane/crossplane
meta.crossplane.io/license: Apache-2.0
meta.crossplane.io/description: |
An introductory example to Crossplane and Composition for Azure.
meta.crossplane.io/readme: |
An introductory example to Crossplane and Composition for Azure.
This will enable provisioning of an Azure SQL database instance.
[Install &
Configure](https://crossplane.io/docs/master/getting-started/install-configure.html)
[Provision a PostgreSQL Azure SQL
Database](https://crossplane.io/docs/master/getting-started/provision-infrastructure.html)
guide: quickstart
provider: azure
spec:
crossplane:
version: ">=v1.4.0-0"
version: ">=v1.8.0-0"
dependsOn:
- provider: crossplane/provider-azure
version: ">=v0.13.0"
version: ">=v0.18.1"

View File

@ -26,12 +26,14 @@ spec:
properties:
spec:
type: object
description: "The OpenAPIV3Schema of this Composite Resource Definition."
properties:
parameters:
type: object
properties:
storageGB:
type: integer
description: "The desired storage capacity of the database, in GB."
required:
- storageGB
required:

View File

@ -1,13 +1,27 @@
apiVersion: meta.pkg.crossplane.io/v1alpha1
apiVersion: meta.pkg.crossplane.io/v1
kind: Configuration
metadata:
name: getting-started-with-gcp
annotations:
meta.crossplane.io/maintainer: Crossplane Maintainers <info@crossplane.io>
meta.crossplane.io/source: github.com/crossplane/crossplane
meta.crossplane.io/license: Apache-2.0
meta.crossplane.io/description: |
An introductory example to Crossplane and Composition for GCP.
meta.crossplane.io/readme: |
An introductory example to Crossplane and Composition for GCP.
This will enable provisioning of a Cloud SQL database instance.
[Install &
Configure](https://crossplane.io/docs/master/getting-started/install-configure.html)
[Provision a PostgreSQL Cloud SQL
Database](https://crossplane.io/docs/master/getting-started/provision-infrastructure.html)
guide: quickstart
provider: gcp
spec:
crossplane:
version: ">=v1.4.0-0"
version: ">=v1.8.0-0"
dependsOn:
- provider: crossplane/provider-gcp
version: ">=v0.13.0"
version: ">=v0.20.0"

View File

@ -26,12 +26,14 @@ spec:
properties:
spec:
type: object
description: "The OpenAPIV3Schema of this Composite Resource Definition."
properties:
parameters:
type: object
properties:
storageGB:
type: integer
description: "The desired storage capacity of the database, in GB."
required:
- storageGB
required: