docs snapshot for crossplane version `v1.9`

This commit is contained in:
Crossplane 2022-10-17 10:38:07 +00:00
parent 3136c89902
commit 0926954a00
21 changed files with 61 additions and 181 deletions

View File

@ -3,36 +3,18 @@ title: API Documentation
weight: 400
---
# API Documentation
Crossplane packages offer API types in a cluster by installing CRDs or XRDs.
Packages that are pushed to `xpkg.upbound.io` have auto-generated documentation
for their API types on the [Upbound Marketplace]. You can access documentation
for the most recent release of any package by navigating to
`https://marketplace.upbound.io/{provider|configuration}/<org>/<repo>`.
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
maintained by the Crossplane organization, you can search for the Github URL, or
append it in the [doc.crds.dev] URL path.
For instance, to find the CRDs available for [provider-azure], you would go to:
[doc.crds.dev/github.com/crossplane/provider/azure]
By default, you will be served the latest CRDs on the `master` branch for the
repository. If you prefer to see the CRDs for a specific version, you can append
the git tag for the release:
[doc.crds.dev/github.com/crossplane/provider-azure@v0.8.0]
Crossplane repositories that are not providers but do publish CRDs are also
served on [doc.crds.dev]. For instance, the [crossplane/crossplane] repository.
Bugs and feature requests for API documentation should be [opened as issues] on
the open source [doc.crds.dev repo].
Crossplane repositories that do not contain providers or configurations, but do
publish CRDs, are served on [doc.crds.dev]. For instance, the
[crossplane/crossplane] repository.
<!-- Named Links -->
[Upbound Marketplace]: https://marketplace.upbound.io
[doc.crds.dev]: https://doc.crds.dev/
[provider-azure]: https://github.com/crossplane/provider-azure
[doc.crds.dev/github.com/crossplane/provider/azure]: https://doc.crds.dev/github.com/crossplane/provider-azure
[doc.crds.dev/github.com/crossplane/provider-azure@v0.8.0]: https://doc.crds.dev/github.com/crossplane/provider-azure@v0.8.0
[crossplane/crossplane]: https://doc.crds.dev/github.com/crossplane/crossplane
[opened as issues]: https://github.com/crdsdev/doc/issues/new
[doc.crds.dev repo]: https://github.com/crdsdev/doc

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -33,7 +33,7 @@ Managed resources are Kubernetes custom resources that represent infrastructure
primitives. Managed resources with an API version of `v1beta1` or higher support
every field that the cloud provider does for the given resource. You can find
the Managed Resources and their API specifications for each provider on
[doc.crds.dev] and learn more in the [managed resources documentation].
the [Upbound Marketplace] and learn more in the [managed resources documentation].
## Composite Resources
@ -50,6 +50,6 @@ learn more about all of these concepts in the [composition documentation].
[CRDs]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
[controllers]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#custom-controllers
[providers documentation]: {{<ref "providers" >}}
[doc.crds.dev]: https://doc.crds.dev
[Upbound Marketplace]: https://marketplace.upbound.io
[managed resources documentation]: {{<ref "managed-resources" >}}
[composition documentation]: {{<ref "composition" >}}

View File

@ -245,6 +245,6 @@ scenarios, including:
[xr-ref]: {{<ref "../reference/composition" >}}
[how-it-works]: /docs/v1.9/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
[provider-kubernetes]: https://marketplace.upbound.io/providers/crossplane-contrib/provider-kubernetes
[provider-helm]: https://marketplace.upbound.io/providers/provider-helm
[claims-and-xrs]: /docs/v1.9/media/composition-claims-and-xrs.svg

View File

@ -154,7 +154,7 @@ spec:
crossplane:
version: ">=v1.0.0"
dependsOn:
- provider: crossplane/provider-gcp
- provider: xpkg.upbound.io/crossplane-contrib/provider-gcp
version: ">=v0.14.0"
```
@ -197,13 +197,13 @@ registry is not specified they will be pushed to Docker Hub.
To push a Provider package, execute the following command:
```
kubectl crossplane push provider crossplane/provider-gcp:v0.14.0
kubectl crossplane push provider xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
```
To push a Configuration package, execute the following command:
```
kubectl crossplane push configuration crossplane/my-org-infra:v0.1.0
kubectl crossplane push configuration xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0
```
> Note: Both of the above commands assume a single `.xpkg` file exists in the
@ -218,13 +218,13 @@ Packages can be installed into a Crossplane cluster using the Crossplane CLI.
To install a Provider package, execute the following command:
```
kubectl crossplane install provider crossplane/provider-gcp:v0.12.0
kubectl crossplane install provider xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
```
To install a Configuration package, execute the following command:
```
kubectl crossplane install configuration crossplane/my-org-infra:v0.1.0
kubectl crossplane install configuration xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0
```
Packages can also be installed manually by creating a `Provider` or
@ -237,7 +237,7 @@ kind: Provider
metadata:
name: provider-gcp
spec:
package: crossplane/provider-gcp:v0.12.0
package: xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
packagePullPolicy: IfNotPresent
revisionActivationPolicy: Automatic
revisionHistoryLimit: 1
@ -249,7 +249,7 @@ kind: Configuration
metadata:
name: my-org-infra
spec:
package: crossplane/my-org-infra:v0.1.0
package: xpkg.upbound.io/crossplane-contrib/my-org-infra:v0.1.0
packagePullPolicy: IfNotPresent
revisionActivationPolicy: Automatic
revisionHistoryLimit: 1
@ -412,7 +412,7 @@ kind: Provider
metadata:
name: provider-aws
spec:
package: crossplane/provider-aws:v0.15.0
package: xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0
controllerConfigRef:
name: aws-config
```
@ -497,7 +497,7 @@ by [pre-pulling images] onto nodes in the cluster.
[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
[provider-gcp]: https://github.com/crossplane/provider-gcp/tree/master/package
[provider-gcp]: https://doc.crds.dev/github.com/crossplane/crossplane/meta.pkg.crossplane.io/Provider/v1
[emptyDir-volume]: https://kubernetes.io/docs/concepts/storage/volumes/#emptydir
[pvc]: https://kubernetes.io/docs/concepts/storage/volumes/#persistentvolumeclaim
[OCI registry]: https://github.com/opencontainers/distribution-spec

View File

@ -7,33 +7,6 @@ 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.
Here is the list of prominent providers:
| | | | |
|---|---|---|---|
| Provider AWS | [GitHub Repo][provider-aws] | [API Reference][provider-aws-api] | [Amazon Web Services (AWS) IAM User] |
| Provider Jet AWS | [GitHub Repo][provider-jet-aws] | [API Reference][provider-jet-aws-api] | |
| Provider GCP | [GitHub Repo][provider-gcp] | [API Reference][provider-gcp-api] | [Google Cloud Platform (GCP) Service Account] |
| Provider Jet GCP | [GitHub Repo][provider-jet-gcp] | [API Reference][provider-jet-gcp-api] | |
| Provider Azure | [GitHub Repo][provider-azure] | [API Reference][provider-azure-api] | [Microsoft Azure Service Principal] |
| Provider Jet Azure | [GitHub Repo][provider-jet-azure] | [API Reference][provider-jet-azure-api] | |
| Provider Alibaba | [GitHub Repo][provider-alibaba] | [API Reference][provider-alibaba-api] | |
| | | | |
| Provider Rook | [GitHub Repo][provider-rook] | [API Reference][provider-rook-api] | |
| Provider Helm | [GitHub Repo][provider-helm] | [API Reference][provider-helm-api] | |
| Provider Terraform | [GitHub Repo][provider-terraform] | [API Reference][provider-terraform-api] | |
| Provider Kubernetes | [GitHub Repo][provider-kubernetes] | [API Reference][provider-kubernetes-api] | |
| Provider SQL | [GitHub Repo][provider-sql] | [API Reference][provider-sql-api] | |
| Provider Gitlab | [GitHub Repo][provider-gitlab] | [API Reference][provider-gitlab-api] | |
| Provider Equinix Metal | [GitHub Repo][provider-equinix-metal] | [API Reference][provider-equinix-metal-api] | |
| Provider Digital Ocean | [GitHub Repo][provider-digitalocean] | [API Reference][provider-digitalocean-api] | |
| Provider Civo | [GitHub Repo][provider-civo] | [API Reference][provider-civo-api] | |
| Provider IBM Cloud | [GitHub Repo][provider-ibm-cloud] | [API Reference][provider-ibm-cloud-api] | |
| Provider Argocd | [GitHub Repo][provider-argocd] | [API Reference][provider-argocd-api] | |
| Provider Styra | [GitHub Repo][provider-styra] | [API Reference][provider-styra-api] | |
| Provider Cloudflare | [GitHub Repo][provider-cloudflare] | [API Reference][provider-cloudflare-api] | |
## Installing Providers
The core Crossplane controller can install provider controllers and CRDs for you
@ -48,7 +21,7 @@ kind: Provider
metadata:
name: provider-aws
spec:
package: "crossplane/provider-aws:v1.9.0"
package: "xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0"
```
The field `spec.package` is where you refer to the container image of the
@ -59,9 +32,9 @@ There are a few other ways to to trigger the installation of provider packages:
* As part of Crossplane Helm chart by adding the following statement to your
`helm install` command: `--set
provider.packages={crossplane/provider-aws:v1.9.0}`.
provider.packages={xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0}`.
* Using the Crossplane CLI: `kubectl crossplane install provider
crossplane/provider-aws:v1.9.0`
xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0`
You can uninstall a provider by deleting the `Provider` resource
you've created.
@ -122,43 +95,3 @@ will attempt to use a `ProviderConfig` named `default`.
[Microsoft Azure Service Principal]: {{<ref "../cloud-providers/azure/azure-provider" >}}
[Amazon Web Services (AWS) IAM User]: {{<ref "../cloud-providers/aws/aws-provider" >}}
[managed-resources]: {{<ref "managed-resources" >}}
[provider-aws]: https://github.com/crossplane-contrib/provider-aws
[provider-aws-api]: https://doc.crds.dev/github.com/crossplane/provider-aws
[provider-jet-aws]: https://github.com/crossplane-contrib/provider-jet-aws
[provider-jet-aws-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-jet-aws
[provider-gcp]: https://github.com/crossplane/provider-gcp
[provider-gcp-api]: https://doc.crds.dev/github.com/crossplane/provider-gcp
[provider-jet-gcp]: https://github.com/crossplane-contrib/provider-jet-gcp
[provider-jet-gcp-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-jet-gcp
[provider-azure]: https://github.com/crossplane/provider-azure
[provider-azure-api]: https://doc.crds.dev/github.com/crossplane/provider-azure
[provider-jet-azure]: https://github.com/crossplane-contrib/provider-jet-azure
[provider-jet-azure-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-jet-azure
[provider-alibaba]: https://github.com/crossplane/provider-alibaba
[provider-alibaba-api]: https://doc.crds.dev/github.com/crossplane/provider-alibaba
[provider-rook]: https://github.com/crossplane/provider-rook
[provider-rook-api]: https://doc.crds.dev/github.com/crossplane/provider-rook
[provider-helm]: https://github.com/crossplane-contrib/provider-helm
[provider-helm-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-helm
[provider-terraform]: https://github.com/crossplane-contrib/provider-terraform
[provider-terraform-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-terraform
[provider-kubernetes]: https://github.com/crossplane-contrib/provider-kubernetes
[provider-kubernetes-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-kubernetes
[provider-sql]: https://github.com/crossplane-contrib/provider-sql
[provider-sql-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-sql
[provider-gitlab]: https://github.com/crossplane-contrib/provider-gitlab
[provider-gitlab-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-gitlab
[provider-equinix-metal]: https://github.com/crossplane-contrib/provider-equinix-metal
[provider-equinix-metal-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-equinix-metal
[provider-digitalocean]: https://github.com/crossplane-contrib/provider-digitalocean
[provider-digitalocean-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-digitalocean
[provider-civo]: https://github.com/crossplane-contrib/provider-civo
[provider-civo-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-civo
[provider-ibm-cloud]: https://github.com/crossplane-contrib/provider-ibm-cloud
[provider-ibm-cloud-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-ibm-cloud
[provider-argocd]: https://github.com/crossplane-contrib/provider-argocd
[provider-argocd-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-argocd
[provider-styra]: https://github.com/crossplane-contrib/provider-styra
[provider-styra-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-styra
[provider-cloudflare]: https://github.com/crossplane-contrib/provider-cloudflare
[provider-cloudflare-api]: https://doc.crds.dev/github.com/crossplane-contrib/provider-cloudflare

View File

@ -569,7 +569,7 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-aws
- provider: xpkg.upbound.io/crossplane-contrib/provider-aws
version: ">=v0.18.2"
```
@ -609,7 +609,7 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-aws
- provider: xpkg.upbound.io/crossplane-contrib/provider-aws
version: ">=v0.18.2"
```
@ -648,7 +648,7 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-gcp
- provider: xpkg.upbound.io/crossplane-contrib/provider-gcp
version: ">=v0.13.0"
```
@ -687,7 +687,7 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-azure
- provider: xpkg.upbound.io/crossplane-contrib/provider-azure
version: ">=v0.13.0"
```

View File

@ -330,9 +330,9 @@ This way even a tight integration of Crossplane in to [Cloudfoundry] is possible
[Multiple Source Field patching]: https://github.com/crossplane/crossplane/pull/2093
[Configuration packages]: {{<ref "../concepts/packages" >}}
[OCI images]: https://github.com/opencontainers/image-spec
[EKS Cluster]: https://doc.crds.dev/github.com/crossplane/provider-aws/eks.aws.crossplane.io/Cluster/v1beta1@v0.17.0
[provider-aws]: https://github.com/crossplane-contrib/provider-aws
[provider-helm]: https://github.com/crossplane-contrib/provider-helm
[EKS Cluster]: https://marketplace.upbound.io/providers/crossplane-contrib/provider-aws/latest/resources/eks.aws.crossplane.io/Cluster/v1beta1
[provider-aws]: https://marketplace.upbound.io/providers/crossplane-contrib/provider-aws
[provider-helm]: https://marketplace.upbound.io/providerscrossplane-contrib/provider-helm
[Open Service Broker API]: https://github.com/openservicebrokerapi/servicebroker
[Crossplane Service Broker]: https://github.com/vshn/crossplane-service-broker
[Cloudfoundry]: https://www.cloudfoundry.org/

View File

@ -202,7 +202,7 @@ kind: Provider
metadata:
name: provider-gcp
spec:
package: crossplane/provider-gcp:v0.21.0
package: xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
controllerConfigRef:
name: vault-config" | kubectl apply -f -
```

View File

@ -245,7 +245,7 @@ kind: Provider
metadata:
name: provider-gcp
spec:
package: crossplane/provider-gcp:v0.16.0
package: xpkg.upbound.io/crossplane-contrib/provider-gcp:v0.22.0
controllerConfigRef:
name: vault-config" | kubectl apply -f -
```
@ -312,7 +312,7 @@ 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://marketplace.upbound.io/providers/crossplane-contrib/provider-gcp
[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

@ -799,8 +799,8 @@ resources, but it's not required.
### Mixing and Matching Providers
Crossplane has providers for many things in addition to the big clouds. Take a
look at [github.com/crossplane-contrib][crossplane-contrib] to find many of
them. Keep in mind that you can mix and match managed resources from different
look at the [Upbound Marketplace][upbound-marketplace] to find many of them.
Keep in mind that you can mix and match managed resources from different
providers within a `Composition` to create Composite Resources. For example you
might use provider-aws and provider-sql to create an XR that provisions an
`RDSInstance` then creates an SQL `Database` and `User`, or provider-gcp and
@ -834,6 +834,6 @@ so:
[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
[upbound-marketplace]: https://marketplace.upbound.io
[helm-and-gcp]: https://github.com/crossplane-contrib/provider-helm/blob/2dcbdd0/examples/in-composition/composition.yaml
[issue-2024]: https://github.com/crossplane/crossplane/issues/2024

View File

@ -16,12 +16,13 @@ weight: 306
## Requested Resource Not Found
If you use the kubectl Crossplane plugin to install a `Provider` or `Configuration`
(e.g. `kubectl crossplane install provider crossplane/provider-aws:master`) and
get `the server could not find the requested resource` error, more often than
not, that is an indicator that the kubectl Crossplane you're using is outdated.
In other words some Crossplane API has been graduated from alpha to beta or stable
and the old plugin is not aware of this change.
If you use the kubectl Crossplane plugin to install a `Provider` or
`Configuration` (e.g. `kubectl crossplane install provider
xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0`) and get `the server
could not find the requested resource` error, more often than not, that is an
indicator that the kubectl Crossplane you're using is outdated. In other words
some Crossplane API has been graduated from alpha to beta or stable and the old
plugin is not aware of this change.
You can follow the [install Crossplane CLI] instructions to upgrade the plugin.
@ -113,7 +114,7 @@ kind: Provider
metadata:
name: provider-aws
spec:
package: crossplane/provider-aws:v0.22.0
package: xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0
controllerConfigRef:
name: debug-config
```
@ -159,7 +160,7 @@ kind: Provider
metadata:
name: provider-aws
spec:
package: crossplane/provider-aws:v0.22.0
package: xpkg.upbound.io/crossplane-contrib/provider-aws:v0.33.0
controllerConfigRef:
name: scale-config
```
@ -253,11 +254,11 @@ When specifying the version constraint, you should strictly follow the
the dependency package even it says the dependency is found. This may lead to an
incompatible dependency error during the installation.
Below is an example where a Configuration package depends on a provider pulled
from `crossplane/provider-aws`. It defines `">=v0.18.2` as the version
constraint which means all versions after `v0.16.0` including all prerelease
versions, in the form of `-xyz` after the normal version string, will be
considered when Crossplane tries to find the best match.
Below is an example where a Configuration package depends on a provider pulled
from `xpkg.upbound.io/crossplane-contrib/provider-aws`. It defines `">=v0.18.2`
as the version constraint which means all versions after `v0.16.0` including all
prerelease versions, in the form of `-xyz` after the normal version string, will
be considered when Crossplane tries to find the best match.
```yaml
apiVersion: meta.pkg.crossplane.io/v1
@ -270,7 +271,7 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-aws
- provider: xpkg.upbound.io/crossplane-contrib/provider-aws
version: ">=v0.18.2"
```

View File

@ -25,5 +25,5 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-aws
version: ">=v0.18.2"
- provider: xpkg.upbound.io/crossplane-contrib/provider-aws
version: ">=v0.24.1"

View File

@ -25,5 +25,5 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-aws
version: ">=v0.18.2"
- provider: xpkg.upbound.io/crossplane-contrib/provider-aws
version: ">=v0.24.1"

View File

@ -23,5 +23,5 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-azure
version: ">=v0.13.0"
- provider: xpkg.upbound.io/crossplane-contrib/provider-azure
version: ">=v0.18.1"

View File

@ -23,5 +23,5 @@ spec:
crossplane:
version: ">=v1.4.0-0"
dependsOn:
- provider: crossplane/provider-gcp
version: ">=v0.13.0"
- provider: xpkg.upbound.io/crossplane-contrib/provider-gcp
version: ">=v0.20.0"