mirror of https://github.com/crossplane/docs.git
Sync latest master -> v2.0
Signed-off-by: Nic Cope <nicc@rk0n.org>
This commit is contained in:
parent
8f06000374
commit
77f96231dc
|
@ -78,7 +78,7 @@ metadata:
|
|||
status:
|
||||
bucketRegion: us-east-2
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
@ -86,6 +86,7 @@ metadata:
|
|||
generateName: test-xrender-
|
||||
labels:
|
||||
crossplane.io/composite: test-xrender
|
||||
namespace: default
|
||||
ownerReferences:
|
||||
- apiVersion: nopexample.org/v1
|
||||
blockOwnerDeletion: true
|
||||
|
@ -343,7 +344,7 @@ The `<package-kind>` is either a `configuration`, `function` or `provider`.
|
|||
For example, to install the latest version of the
|
||||
[AWS S3 provider](https://github.com/crossplane-contrib/provider-upjet-aws):
|
||||
|
||||
`crossplane xpkg install provider xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1`
|
||||
`crossplane xpkg install provider xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0`
|
||||
|
||||
#### Flags
|
||||
{{< table "table table-sm table-striped">}}
|
||||
|
@ -522,7 +523,7 @@ already installed in Crossplane.
|
|||
For example, to update to the latest version of the
|
||||
[AWS S3 provider](https://github.com/crossplane-contrib/provider-upjet-aws):
|
||||
|
||||
`crossplane xpkg update provider xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1`
|
||||
`crossplane xpkg update provider xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0`
|
||||
|
||||
|
||||
<!-- vale Google.Headings = NO -->
|
||||
|
@ -746,52 +747,52 @@ Configuration/platform-ref-aws
|
|||
├─ ConfigurationRevision/platform-ref-aws-9ad7b5db2899 v0.9.0 - True Active HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-aws-network v0.7.0 True True - HealthyPackageRevision
|
||||
│ ├─ ConfigurationRevision/upbound-configuration-aws-network-97be9100cfe1 v0.7.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Function/upbound-function-patch-and-transform v0.2.1 True True - HealthyPackageRevision
|
||||
│ └─ FunctionRevision/upbound-function-patch-and-transform-a2f88f8d8715 v0.2.1 - True Active HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-aws-database v0.5.0 True True - HealthyPackageRevision
|
||||
│ ├─ ConfigurationRevision/upbound-configuration-aws-database-3112f0a765c5 v0.5.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-rds v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-rds-58f96aa9fc4b v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-rds v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-rds-58f96aa9fc4b v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Configuration/upbound-configuration-aws-network v0.7.0 True True - HealthyPackageRevision
|
||||
│ ├─ ConfigurationRevision/upbound-configuration-aws-network-97be9100cfe1 v0.7.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Function/upbound-function-patch-and-transform v0.2.1 True True - HealthyPackageRevision
|
||||
│ └─ FunctionRevision/upbound-function-patch-and-transform-a2f88f8d8715 v0.2.1 - True Active HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-aws-eks v0.5.0 True True - HealthyPackageRevision
|
||||
│ ├─ ConfigurationRevision/upbound-configuration-aws-eks-83c9d65f4a47 v0.5.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Configuration/upbound-configuration-aws-network v0.7.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ConfigurationRevision/upbound-configuration-aws-network-97be9100cfe1 v0.7.0 - True Active HealthyPackageRevision
|
||||
│ │ ├─ Provider/upbound-provider-aws-ec2 v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ │ ├─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Function/upbound-function-patch-and-transform v0.2.1 True True - HealthyPackageRevision
|
||||
│ │ └─ FunctionRevision/upbound-function-patch-and-transform-a2f88f8d8715 v0.2.1 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/crossplane-contrib-provider-helm v0.16.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/crossplane-contrib-provider-helm-b4cc4c2c8db3 v0.16.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/crossplane-contrib-provider-kubernetes v0.10.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/crossplane-contrib-provider-kubernetes-63506a3443e0 v0.10.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-eks v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-eks-641a096d79d8 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-iam v0.47.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-iam-438eac423037 v0.47.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-ec2-cfeb0cd0f1d2 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-eks v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-eks-641a096d79d8 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ ├─ Provider/upbound-provider-aws-iam v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ ├─ ProviderRevision/upbound-provider-aws-iam-438eac423037 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ │ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ │ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Function/upbound-function-patch-and-transform v0.2.1 True True - HealthyPackageRevision
|
||||
│ └─ FunctionRevision/upbound-function-patch-and-transform-a2f88f8d8715 v0.2.1 - True Active HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-app v0.2.0 True True - HealthyPackageRevision
|
||||
|
@ -841,10 +842,10 @@ Configuration/platform-ref-aws
|
|||
├─ ConfigurationRevision/platform-ref-aws-9ad7b5db2899 v0.9.0 - True Active HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-aws-network v0.2.0 True True - HealthyPackageRevision
|
||||
│ ├─ ConfigurationRevision/upbound-configuration-aws-network-288fcd1b88dd v0.2.0 - True Active HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-aws-ec2 v1.0.0 True True - HealthyPackageRevision
|
||||
│ ├─ ProviderRevision/upbound-provider-aws-ec2-5cfd948d082f v1.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v1.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ ├─ ProviderRevision/upbound-provider-aws-ec2-5cfd948d082f v2.0.0 - True Active HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
│ └─ ProviderRevision/upbound-provider-family-aws-48b3b5ccf964 v2.0.0 - True Active HealthyPackageRevision
|
||||
# Removed for brevity
|
||||
```
|
||||
|
||||
|
@ -855,8 +856,8 @@ crossplane beta trace configuration platform-ref-aws --show-package-revisions no
|
|||
NAME VERSION INSTALLED HEALTHY STATE STATUS
|
||||
Configuration/platform-ref-aws v0.9.0 True True - HealthyPackageRevision
|
||||
├─ Configuration/upbound-configuration-aws-network v0.2.0 True True - HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-aws-ec2 v1.0.0 True True - HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-family-aws v1.0.0 True True - HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-aws-ec2 v2.0.0 True True - HealthyPackageRevision
|
||||
│ └─ Provider/upbound-provider-family-aws v2.0.0 True True - HealthyPackageRevision
|
||||
# Removed for brevity
|
||||
```
|
||||
|
||||
|
@ -936,9 +937,9 @@ provider manifests of the resources to validate.
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws-iam
|
||||
name: crossplane-contrib-provider-aws-iam
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.1
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v2.0.0
|
||||
```
|
||||
|
||||
Now include the XR or managed resource to validate.
|
||||
|
@ -948,9 +949,10 @@ For example, to validate an
|
|||
provide a managed resource YAML file.
|
||||
|
||||
```yaml {label="iamAK"}
|
||||
apiVersion: iam.aws.upbound.io/v1beta1
|
||||
apiVersion: iam.aws.m.upbound.io/v1beta1
|
||||
kind: AccessKey
|
||||
metadata:
|
||||
namespace: default
|
||||
name: sample-access-key-0
|
||||
spec:
|
||||
forProvider:
|
||||
|
@ -964,7 +966,7 @@ resource YAML files as input.
|
|||
|
||||
```shell
|
||||
crossplane beta validate provider.yaml managedResource.yaml
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
Total 1 resources: 0 missing schemas, 1 success case, 0 failure cases
|
||||
```
|
||||
|
||||
|
@ -982,10 +984,10 @@ option with `crossplane beta validate` to pipe the output from
|
|||
crossplane render xr.yaml composition.yaml function.yaml --include-full-xr | crossplane beta validate schemas.yaml -
|
||||
[x] schema validation error example.crossplane.io/v1beta1, Kind=XR, example : status.conditions[0].lastTransitionTime: Invalid value: "null": status.conditions[0].lastTransitionTime in body must be of type string: "null"
|
||||
[x] schema validation error example.crossplane.io/v1beta1, Kind=XR, example : spec: Required value
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-1 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=User, test-user-0 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=User, test-user-1 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-1 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=User, test-user-0 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=User, test-user-1 validated successfully
|
||||
Total 5 resources: 0 missing schemas, 4 success cases, 1 failure cases
|
||||
```
|
||||
|
||||
|
@ -1082,10 +1084,10 @@ Provide the directory name and a resource YAML file to the
|
|||
crossplane beta validate schema resources.yaml
|
||||
[x] schema validation error example.crossplane.io/v1beta1, Kind=XR, example : status.conditions[0].lastTransitionTime: Invalid value: "null": status.conditions[0].lastTransitionTime in body must be of type string: "null"
|
||||
[x] CEL validation error example.crossplane.io/v1beta1, Kind=XR, example : spec: Invalid value: "object": no such key: minReplicas evaluating rule: replicas should be greater than or equal to minReplicas.
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-1 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=User, test-user-0 validated successfully
|
||||
[✓] iam.aws.upbound.io/v1beta1, Kind=User, test-user-1 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-0 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=AccessKey, sample-access-key-1 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=User, test-user-0 validated successfully
|
||||
[✓] iam.aws.m.upbound.io/v1beta1, Kind=User, test-user-1 validated successfully
|
||||
Total 5 resources: 0 missing schemas, 4 success cases, 1 failure cases
|
||||
```
|
||||
|
||||
|
|
|
@ -36,14 +36,6 @@ This guide requires:
|
|||
* An AWS account with permissions to create an S3 storage bucket
|
||||
* AWS [access keys](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds)
|
||||
|
||||
{{<hint "note">}}
|
||||
AWS managed resources fully support Crossplane v2.
|
||||
|
||||
<!-- vale gitlab.FutureTense = NO -->
|
||||
Maintainers are actively working to update managed resources for other systems including Azure,
|
||||
GCP, Terraform, Helm, GitHub, etc to support Crossplane v2.
|
||||
<!-- vale gitlab.FutureTense = YES -->
|
||||
{{</hint>}}
|
||||
|
||||
## Install support for the managed resource
|
||||
|
||||
|
@ -151,11 +143,11 @@ customizes the settings of the AWS Provider.
|
|||
|
||||
All providers need a configuration to tell them where to load credentials.
|
||||
|
||||
Create this provider configuration:
|
||||
Create this cluster-wide provider configuration:
|
||||
|
||||
```yaml {label="providerconfig",copy-lines="all"}
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
kind: ClusterProviderConfig
|
||||
metadata:
|
||||
name: default
|
||||
spec:
|
||||
|
@ -176,6 +168,15 @@ kubectl apply -f providerconfig.yaml
|
|||
This tells the provider to load credentials from
|
||||
[the secret](#save-the-providers-credentials).
|
||||
|
||||
{{<hint "note">}}
|
||||
This example uses a `ClusterProviderConfig` that applies to managed resources
|
||||
across all namespaces.
|
||||
|
||||
You can also use a namespaced `ProviderConfig` that only applies to managed
|
||||
resources in a specific namespace. See the [`providerConfigRef`]({{<ref "../managed-resources/managed-resources#providerconfigref">}})
|
||||
section in the managed resources docs for more details.
|
||||
{{</hint>}}
|
||||
|
||||
## Use the managed resource
|
||||
|
||||
{{<hint "note">}}
|
||||
|
|
|
@ -6,7 +6,7 @@ weight: 306
|
|||
|
||||
If you use the Crossplane CLI to install a `Provider` or
|
||||
`Configuration` (for example, `crossplane xpkg install provider
|
||||
xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1`) and get `the server
|
||||
xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0`) and get `the server
|
||||
could not find the requested resource` error, more often than not, that's an
|
||||
indicator that your Crossplane CLI needs updating. In other words
|
||||
Crossplane graduated some API from alpha to beta or stable and the old
|
||||
|
@ -105,9 +105,9 @@ spec:
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.33.0
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0
|
||||
runtimeConfigRef:
|
||||
apiVersion: pkg.crossplane.io/v1beta1
|
||||
kind: DeploymentRuntimeConfig
|
||||
|
@ -156,9 +156,9 @@ spec:
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.33.0
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0
|
||||
runtimeConfigRef:
|
||||
apiVersion: pkg.crossplane.io/v1beta1
|
||||
kind: DeploymentRuntimeConfig
|
||||
|
|
|
@ -38,55 +38,55 @@ command may take minutes to return.
|
|||
```shell {copy-lines="1"}
|
||||
kubectl get managed
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
securitygroup.ec2.aws.upbound.io/my-db-7mc7h-j84h8 True True sg-0da6e9c29113596b6 3m1s
|
||||
securitygroup.ec2.aws.upbound.io/my-db-8bhr2-9wsx9 True True sg-02695166f010ec05b 2m26s
|
||||
securitygroup.ec2.aws.m.upbound.io/my-db-7mc7h-j84h8 True True sg-0da6e9c29113596b6 3m1s
|
||||
securitygroup.ec2.aws.m.upbound.io/my-db-8bhr2-9wsx9 True True sg-02695166f010ec05b 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
route.ec2.aws.upbound.io/my-db-7mc7h-vw985 True True r-rtb-05822b8df433e4e2b1080289494 3m1s
|
||||
route.ec2.aws.upbound.io/my-db-8bhr2-7m2wq False True 2m26s
|
||||
route.ec2.aws.m.upbound.io/my-db-7mc7h-vw985 True True r-rtb-05822b8df433e4e2b1080289494 3m1s
|
||||
route.ec2.aws.m.upbound.io/my-db-8bhr2-7m2wq False True 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
securitygrouprule.ec2.aws.upbound.io/my-db-7mc7h-mkd9s True True sgrule-778063708 3m1s
|
||||
securitygrouprule.ec2.aws.upbound.io/my-db-8bhr2-lzr89 False True 2m26s
|
||||
securitygrouprule.ec2.aws.m.upbound.io/my-db-7mc7h-mkd9s True True sgrule-778063708 3m1s
|
||||
securitygrouprule.ec2.aws.m.upbound.io/my-db-8bhr2-lzr89 False True 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
routetable.ec2.aws.upbound.io/my-db-7mc7h-mnqvm True True rtb-05822b8df433e4e2b 3m1s
|
||||
routetable.ec2.aws.upbound.io/my-db-8bhr2-dfhj6 True True rtb-02e875abd25658254 2m26s
|
||||
routetable.ec2.aws.m.upbound.io/my-db-7mc7h-mnqvm True True rtb-05822b8df433e4e2b 3m1s
|
||||
routetable.ec2.aws.m.upbound.io/my-db-8bhr2-dfhj6 True True rtb-02e875abd25658254 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
subnet.ec2.aws.upbound.io/my-db-7mc7h-7m49d True True subnet-0c1ab32c5ec129dd1 3m2s
|
||||
subnet.ec2.aws.upbound.io/my-db-7mc7h-9t64t True True subnet-07075c17c7a72f79e 3m2s
|
||||
subnet.ec2.aws.upbound.io/my-db-7mc7h-rs8t8 True True subnet-08e88e826a42e55b4 3m2s
|
||||
subnet.ec2.aws.upbound.io/my-db-8bhr2-9sjpx True True subnet-05d21c7b52f7ac8ca 2m26s
|
||||
subnet.ec2.aws.upbound.io/my-db-8bhr2-dvrxf True True subnet-0432310376b5d09de 2m26s
|
||||
subnet.ec2.aws.upbound.io/my-db-8bhr2-t7dpr True True subnet-0080fdcb6e9b70632 2m26s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-7mc7h-7m49d True True subnet-0c1ab32c5ec129dd1 3m2s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-7mc7h-9t64t True True subnet-07075c17c7a72f79e 3m2s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-7mc7h-rs8t8 True True subnet-08e88e826a42e55b4 3m2s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-8bhr2-9sjpx True True subnet-05d21c7b52f7ac8ca 2m26s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-8bhr2-dvrxf True True subnet-0432310376b5d09de 2m26s
|
||||
subnet.ec2.aws.m.upbound.io/my-db-8bhr2-t7dpr True True subnet-0080fdcb6e9b70632 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
vpc.ec2.aws.upbound.io/my-db-7mc7h-ktbbh True True vpc-08d7dd84e0c12f33e 3m3s
|
||||
vpc.ec2.aws.upbound.io/my-db-8bhr2-mrh2x True True vpc-06994bf323fc1daea 2m26s
|
||||
vpc.ec2.aws.m.upbound.io/my-db-7mc7h-ktbbh True True vpc-08d7dd84e0c12f33e 3m3s
|
||||
vpc.ec2.aws.m.upbound.io/my-db-8bhr2-mrh2x True True vpc-06994bf323fc1daea 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
internetgateway.ec2.aws.upbound.io/my-db-7mc7h-s2x4v True True igw-0189c4da07a3142dc 3m1s
|
||||
internetgateway.ec2.aws.upbound.io/my-db-8bhr2-q7dzl True True igw-01bf2a1dbbebf6a27 2m26s
|
||||
internetgateway.ec2.aws.m.upbound.io/my-db-7mc7h-s2x4v True True igw-0189c4da07a3142dc 3m1s
|
||||
internetgateway.ec2.aws.m.upbound.io/my-db-8bhr2-q7dzl True True igw-01bf2a1dbbebf6a27 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-7mc7h-28qb4 True True rtbassoc-0718d680b5a0e68fe 3m1s
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-7mc7h-9hdlr True True rtbassoc-0faaedb88c6e1518c 3m1s
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-7mc7h-txhmz True True rtbassoc-0e5010724ca027864 3m1s
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-8bhr2-bvgkt False True 2m26s
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-8bhr2-d9gbg False True 2m26s
|
||||
routetableassociation.ec2.aws.upbound.io/my-db-8bhr2-k6k8m False True 2m26s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-7mc7h-28qb4 True True rtbassoc-0718d680b5a0e68fe 3m1s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-7mc7h-9hdlr True True rtbassoc-0faaedb88c6e1518c 3m1s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-7mc7h-txhmz True True rtbassoc-0e5010724ca027864 3m1s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-8bhr2-bvgkt False True 2m26s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-8bhr2-d9gbg False True 2m26s
|
||||
routetableassociation.ec2.aws.m.upbound.io/my-db-8bhr2-k6k8m False True 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
instance.rds.aws.upbound.io/my-db-7mc7h-5d6w4 False True my-db-7mc7h-5d6w4 3m1s
|
||||
instance.rds.aws.upbound.io/my-db-8bhr2-tx9kf False True my-db-8bhr2-tx9kf 2m26s
|
||||
instance.rds.aws.m.upbound.io/my-db-7mc7h-5d6w4 False True my-db-7mc7h-5d6w4 3m1s
|
||||
instance.rds.aws.m.upbound.io/my-db-8bhr2-tx9kf False True my-db-8bhr2-tx9kf 2m26s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
subnetgroup.rds.aws.upbound.io/my-db-7mc7h-8c8n9 True True my-db-7mc7h-8c8n9 3m2s
|
||||
subnetgroup.rds.aws.upbound.io/my-db-8bhr2-mc5ps True True my-db-8bhr2-mc5ps 2m27s
|
||||
subnetgroup.rds.aws.m.upbound.io/my-db-7mc7h-8c8n9 True True my-db-7mc7h-8c8n9 3m2s
|
||||
subnetgroup.rds.aws.m.upbound.io/my-db-8bhr2-mc5ps True True my-db-8bhr2-mc5ps 2m27s
|
||||
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
bucket.s3.aws.upbound.io/crossplane-bucket-867737b10 True True
|
||||
bucket.s3.aws.m.upbound.io/crossplane-bucket-867737b10 True True
|
||||
crossplane-bucket-867737b10 5m26s
|
||||
```
|
||||
|
||||
|
@ -121,13 +121,13 @@ Use `kubectl get managed` to view remaining _managed resources_.
|
|||
```shell {copy-lines="1"}
|
||||
kubectl get managed
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
bucket.s3.aws.upbound.io/crossplane-bucket-867737b10 True True crossplane-bucket-867737b10 8h
|
||||
bucket.s3.aws.m.upbound.io/crossplane-bucket-867737b10 True True crossplane-bucket-867737b10 8h
|
||||
```
|
||||
|
||||
Use `kubectl delete` to remove the resources.
|
||||
|
||||
```shell
|
||||
kubectl delete bucket.s3.aws.upbound.io/crossplane-bucket-867737b10
|
||||
kubectl delete bucket.s3.aws.m.upbound.io/crossplane-bucket-867737b10
|
||||
```
|
||||
|
||||
<!-- vale Google.Headings = NO -->
|
||||
|
@ -139,7 +139,7 @@ List the installed _providers_ with `kubectl get providers`.
|
|||
```shell {copy-lines="1"}
|
||||
kubectl get providers
|
||||
NAME INSTALLED HEALTHY PACKAGE AGE
|
||||
crossplane-contrib-provider-aws True True xpkg.crossplane.io/crossplane-contrib/provider-aws:v1.21.1 8h
|
||||
crossplane-contrib-provider-aws-s3 True True xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0 8h
|
||||
```
|
||||
|
||||
Remove the installed _providers_ with `kubectl delete provider`.
|
||||
|
|
|
@ -275,7 +275,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/utils/ptr"
|
||||
|
||||
"github.com/upbound/provider-aws/apis/s3/v1beta1"
|
||||
"github.com/crossplane-contrib/provider-upjet-aws/apis/s3/v1beta1"
|
||||
|
||||
"github.com/crossplane/function-sdk-go/errors"
|
||||
"github.com/crossplane/function-sdk-go/logging"
|
||||
|
@ -432,7 +432,7 @@ using the same strongly typed structs Crossplane uses in its providers.
|
|||
You must get the AWS Provider Go module to use this type:
|
||||
|
||||
```shell
|
||||
go get github.com/upbound/provider-aws@v1.14.0
|
||||
go get github.com/crossplane-contrib/provider-upjet-aws@v2.0.0
|
||||
```
|
||||
|
||||
Crossplane provides a
|
||||
|
@ -528,7 +528,7 @@ func TestRunFunction(t *testing.T) {
|
|||
Desired: &fnv1.State{
|
||||
Resources: map[string]*fnv1.Resource{
|
||||
"xbuckets-test-bucket-a": {Resource: resource.MustStructJSON(`{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -545,7 +545,7 @@ func TestRunFunction(t *testing.T) {
|
|||
}
|
||||
}`)},
|
||||
"xbuckets-test-bucket-b": {Resource: resource.MustStructJSON(`{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -727,7 +727,7 @@ kind: XBuckets
|
|||
metadata:
|
||||
name: example-buckets
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
@ -742,7 +742,7 @@ spec:
|
|||
forProvider:
|
||||
region: us-east-2
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
@ -757,7 +757,7 @@ spec:
|
|||
forProvider:
|
||||
region: us-east-2
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
|
|
@ -187,7 +187,7 @@ async def RunFunction(self, req: fnv1.RunFunctionRequest, _: grpc.aio.ServicerCo
|
|||
for name in names:
|
||||
rsp.desired.resources[f"xbuckets-{name}"].resource.update(
|
||||
{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -261,7 +261,7 @@ class FunctionRunner(grpcv1.FunctionRunnerService):
|
|||
# https://protobuf.dev/reference/python/python-generated/#map-fields
|
||||
rsp.desired.resources[f"xbuckets-{name}"].resource.update(
|
||||
{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -399,7 +399,7 @@ class TestFunctionRunner(unittest.IsolatedAsyncioTestCase):
|
|||
"xbuckets-test-bucket-a": fnv1.Resource(
|
||||
resource=resource.dict_to_struct(
|
||||
{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -415,7 +415,7 @@ class TestFunctionRunner(unittest.IsolatedAsyncioTestCase):
|
|||
"xbuckets-test-bucket-b": fnv1.Resource(
|
||||
resource=resource.dict_to_struct(
|
||||
{
|
||||
"apiVersion": "s3.aws.upbound.io/v1beta1",
|
||||
"apiVersion": "s3.aws.m.upbound.io/v1beta1",
|
||||
"kind": "Bucket",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
|
@ -588,7 +588,7 @@ kind: XBuckets
|
|||
metadata:
|
||||
name: example-buckets
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
@ -603,7 +603,7 @@ spec:
|
|||
forProvider:
|
||||
region: us-east-2
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
@ -618,7 +618,7 @@ spec:
|
|||
forProvider:
|
||||
region: us-east-2
|
||||
---
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
annotations:
|
||||
|
|
|
@ -19,14 +19,6 @@ Examples of managed resources include:
|
|||
* Google Cloud GKE `Cluster` defined in [provider-upjet-gcp](https://github.com/crossplane-contrib/provider-upjet-gcp).
|
||||
* Microsoft Azure PostgreSQL `Database` defined in [provider-upjet-azure](https://github.com/crossplane-contrib/provider-upjet-azure).
|
||||
|
||||
{{<hint "important">}}
|
||||
AWS managed resources fully support Crossplane v2.
|
||||
|
||||
<!-- vale gitlab.FutureTense = NO -->
|
||||
Maintainers are actively working to update managed resources for other systems including Azure,
|
||||
GCP, Terraform, Helm, GitHub, etc to support Crossplane v2.
|
||||
<!-- vale gitlab.FutureTense = YES -->
|
||||
{{</hint>}}
|
||||
|
||||
|
||||
## Managed resource fields
|
||||
|
@ -194,7 +186,7 @@ resource that created the `InternetGateway`.
|
|||
|
||||
Some providers don't support changing the fields of some managed resources after
|
||||
creation. For example, you can't change the `region` of an Amazon AWS
|
||||
`RDSInstance`. These fields are _immutable fields_. Amazon requires you delete
|
||||
RDS `Instance`. These fields are _immutable fields_. Amazon requires you delete
|
||||
and recreate the resource.
|
||||
|
||||
Crossplane allows you to edit the immutable field of a managed resource, but
|
||||
|
@ -281,12 +273,13 @@ spec:
|
|||
managementPolicies: ["Observe", "Create", "Update", "Delete"]
|
||||
initProvider:
|
||||
scalingConfig:
|
||||
- desiredSize: 1
|
||||
desiredSize: 1
|
||||
forProvider:
|
||||
region: us-west-1
|
||||
clusterName: my-cluster
|
||||
scalingConfig:
|
||||
- maxSize: 4
|
||||
minSize: 1
|
||||
maxSize: 4
|
||||
minSize: 1
|
||||
```
|
||||
|
||||
<!-- vale off -->
|
||||
|
@ -385,16 +378,22 @@ This matches the {{<hover label="pc" line="4">}}name{{</hover>}} of a ProviderCo
|
|||
```yaml {label="pcref",copy-lines="none"}}
|
||||
apiVersion: ec2.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-instance
|
||||
spec:
|
||||
forProvider:
|
||||
# Removed for brevity
|
||||
providerConfigRef: user-keys
|
||||
providerConfigRef:
|
||||
name: user-keys
|
||||
kind: ProviderConfig
|
||||
```
|
||||
|
||||
```yaml {label="pc"}
|
||||
apiVersion: aws.m.crossplane.io/v1beta1
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: user-keys
|
||||
# Removed for brevity
|
||||
```
|
||||
|
@ -405,6 +404,52 @@ different managed resources to authenticate with different credentials to the
|
|||
same Provider.
|
||||
{{< /hint >}}
|
||||
|
||||
#### ProviderConfig types
|
||||
|
||||
The AWS provider supports two types of ProviderConfig resources:
|
||||
|
||||
**ProviderConfig** (namespace-scoped):
|
||||
```yaml
|
||||
# ProviderConfig - only applies to MRs in same namespace
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-config
|
||||
```
|
||||
|
||||
**ClusterProviderConfig** (cluster-wide):
|
||||
```yaml
|
||||
# ClusterProviderConfig - applies to MRs across all namespaces
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ClusterProviderConfig
|
||||
metadata:
|
||||
name: my-cluster-config
|
||||
```
|
||||
|
||||
When referencing any ProviderConfig, managed resources must specify both `name` and `kind`:
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: my-cluster-config
|
||||
kind: ClusterProviderConfig
|
||||
```
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: my-config
|
||||
kind: ProviderConfig # References namespaced ProviderConfig
|
||||
```
|
||||
|
||||
If you omit `providerConfigRef` entirely, it defaults to:
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: default
|
||||
kind: ClusterProviderConfig
|
||||
```
|
||||
|
||||
<!-- vale off -->
|
||||
### writeConnectionSecretToRef
|
||||
<!-- vale on -->
|
||||
|
@ -416,7 +461,7 @@ Crossplane stores these details in a Kubernetes Secret object specified by the
|
|||
`writeConnectionSecretToRef` values.
|
||||
|
||||
For example, when creating an AWS RDS database instance with the Crossplane
|
||||
[community AWS provider](https://github.com/crossplane-contrib/provider-aws)
|
||||
[AWS provider](https://github.com/crossplane-contrib/provider-upjet-aws)
|
||||
generates an endpoint, password, port and username data. The Provider saves
|
||||
these variables in the Kubernetes secret
|
||||
{{<hover label="secretname" line="10" >}}rds-secret{{</hover>}}, referenced by
|
||||
|
@ -425,8 +470,8 @@ the
|
|||
field.
|
||||
|
||||
```yaml {label="secretname",copy-lines="none"}
|
||||
apiVersion: database.aws.m.crossplane.io/v1beta1
|
||||
kind: RDSInstance
|
||||
apiVersion: rds.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-rds-instance
|
||||
|
@ -483,15 +528,15 @@ the name `my-rds-instance` as an external resource inside the Provider's
|
|||
environment.
|
||||
|
||||
```yaml {label="external-name",copy-lines="none"}
|
||||
apiVersion: database.aws.m.crossplane.io/v1beta1
|
||||
kind: RDSInstance
|
||||
apiVersion: rds.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-rds-instance
|
||||
```
|
||||
|
||||
```shell
|
||||
kubectl get rdsinstance
|
||||
kubectl get instance
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
my-rds-instance True True my-rds-instance 11m
|
||||
```
|
||||
|
@ -506,8 +551,8 @@ the name {{<hover label="custom-name" line="5">}}my-custom-name{{</hover >}}
|
|||
for the external resource inside AWS.
|
||||
|
||||
```yaml {label="custom-name",copy-lines="none"}
|
||||
apiVersion: database.aws.m.crossplane.io/v1beta1
|
||||
kind: RDSInstance
|
||||
apiVersion: rds.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-rds-instance
|
||||
|
@ -516,7 +561,7 @@ metadata:
|
|||
```
|
||||
|
||||
```shell {copy-lines="1"}
|
||||
kubectl get rdsinstance
|
||||
kubectl get instance
|
||||
NAME READY SYNCED EXTERNAL-NAME AGE
|
||||
my-rds-instance True True my-custom-name 11m
|
||||
```
|
||||
|
|
|
@ -82,7 +82,7 @@ metadata:
|
|||
name: protect-production-database
|
||||
spec:
|
||||
of:
|
||||
apiVersion: rds.m.aws.m.upbound.io/v1beta1
|
||||
apiVersion: rds.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
resourceRef:
|
||||
name: my-database
|
||||
|
|
|
@ -210,7 +210,7 @@ metadata:
|
|||
name: backup-on-deletion
|
||||
spec:
|
||||
watch:
|
||||
apiVersion: rds.aws.crossplane.io/v1alpha1
|
||||
apiVersion: rds.aws.m.upbound.io/v1beta1
|
||||
kind: Instance
|
||||
# Note: Watching for deletion requires function logic
|
||||
# to check deletion timestamp
|
||||
|
|
|
@ -16,7 +16,7 @@ logic for any external resources.
|
|||
|
||||
Examples of providers include:
|
||||
|
||||
* [Provider AWS](https://github.com/upbound/provider-aws)
|
||||
* [Provider AWS](https://github.com/crossplane-contrib/provider-upjet-aws)
|
||||
* [Provider Azure](https://github.com/upbound/provider-azure)
|
||||
* [Provider GCP](https://github.com/upbound/provider-gcp)
|
||||
* [Provider Kubernetes](https://github.com/crossplane-contrib/provider-kubernetes)
|
||||
|
@ -52,15 +52,15 @@ registry with the `--registry` flag on the [Crossplane pod]({{<ref "../guides/po
|
|||
{{< /hint >}}
|
||||
|
||||
For example, to install the
|
||||
[AWS Community Provider](https://github.com/crossplane-contrib/provider-aws),
|
||||
[AWS Provider](https://github.com/crossplane-contrib/provider-upjet-aws),
|
||||
|
||||
```yaml {label="install"}
|
||||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3-s3
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.39.0
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0
|
||||
```
|
||||
|
||||
By default, the Provider pod installs in the same namespace as Crossplane
|
||||
|
@ -86,7 +86,7 @@ For information on the specification of Provider packages read the
|
|||
apiVersion: meta.pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
# Removed for brevity
|
||||
```
|
||||
|
@ -105,14 +105,14 @@ Use the
|
|||
{{<hover label="helm" line="5" >}}--set provider.packages{{</hover >}}
|
||||
argument with `helm install`.
|
||||
|
||||
For example, to install the AWS Community Provider,
|
||||
For example, to install the AWS S3 Provider,
|
||||
|
||||
```shell {label="helm"}
|
||||
helm install crossplane \
|
||||
crossplane-stable/crossplane \
|
||||
--namespace crossplane-system \
|
||||
--create-namespace \
|
||||
--set provider.packages='{xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.39.0}'
|
||||
--set provider.packages='{xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0}'
|
||||
```
|
||||
|
||||
### Install offline
|
||||
|
@ -137,9 +137,9 @@ and repeatable installations.
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws@sha256:ee6bece46dbb54cc3f0233961f5baac317fa4e4a81b41198bdc72fc472d113d0
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3@sha256:ee6bece46dbb54cc3f0233961f5baac317fa4e4a81b41198bdc72fc472d113d0
|
||||
```
|
||||
{{< /hint >}}
|
||||
|
||||
|
@ -174,7 +174,7 @@ configuration.
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
packagePullPolicy: Always
|
||||
# Removed for brevity
|
||||
|
@ -203,7 +203,7 @@ For example, to change the upgrade behavior to require manual upgrades, set
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
revisionActivationPolicy: Manual
|
||||
# Removed for brevity
|
||||
|
@ -237,7 +237,7 @@ For example, to change the default setting and store 10 revisions use
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
revisionHistoryLimit: 10
|
||||
# Removed for brevity
|
||||
|
@ -268,7 +268,7 @@ For example, to use the secret named
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
packagePullSecrets:
|
||||
- name: example-secret
|
||||
|
@ -295,7 +295,7 @@ For example, to disable dependency resolution configure
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
skipDependencyResolution: true
|
||||
# Removed for brevity
|
||||
|
@ -363,7 +363,7 @@ version, configure
|
|||
apiVersion: pkg.crossplane.io/v1
|
||||
kind: Provider
|
||||
metadata:
|
||||
name: provider-aws
|
||||
name: crossplane-contrib-provider-aws-s3
|
||||
spec:
|
||||
ignoreCrossplaneConstraints: true
|
||||
# Removed for brevity
|
||||
|
@ -382,8 +382,8 @@ For example, this installation of the Getting Started Configuration is
|
|||
|
||||
```shell {copy-lines="1"}
|
||||
kubectl get providers
|
||||
NAME INSTALLED HEALTHY PACKAGE AGE
|
||||
provider-aws-s3 True False xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1 12s
|
||||
NAME INSTALLED HEALTHY PACKAGE AGE
|
||||
crossplane-contrib-provider-aws-s3 True False xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0 12s
|
||||
```
|
||||
|
||||
To see more information on why the Provider isn't `HEALTHY` use
|
||||
|
@ -396,7 +396,7 @@ API Version: pkg.crossplane.io/v1
|
|||
Kind: ProviderRevision
|
||||
Spec:
|
||||
Desired State: Active
|
||||
Image: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1
|
||||
Image: xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0
|
||||
Revision: 1
|
||||
Status:
|
||||
Conditions:
|
||||
|
@ -434,10 +434,10 @@ View the `ProviderRevisions` with
|
|||
```shell {label="getPR",copy-lines="1"}
|
||||
kubectl get providerrevisions
|
||||
NAME HEALTHY REVISION IMAGE STATE DEP-FOUND DEP-INSTALLED AGE
|
||||
provider-aws-s3-dbc7f981d81f True 1 xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v1.21.1 Active 1 1 10d
|
||||
provider-aws-s3-dbc7f981d81f True 1 xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0 Active 1 1 10d
|
||||
provider-nop-552a394a8acc True 2 xpkg.crossplane.io/crossplane-contrib/provider-nop:v0.3.0 Active 11d
|
||||
provider-nop-7e62d2a1a709 True 1 xpkg.crossplane.io/crossplane-contrib/provider-nop:v0.2.0 Inactive 13d
|
||||
crossplane-contrib-provider-family-aws-710d8cfe9f53 True 1 xpkg.crossplane.io/crossplane-contrib/provider-family-aws:v1.21.1 Active 10d
|
||||
crossplane-contrib-provider-family-aws-710d8cfe9f53 True 1 xpkg.crossplane.io/crossplane-contrib/provider-family-aws:v2.0.0 Active 10d
|
||||
```
|
||||
|
||||
By default Crossplane keeps a single
|
||||
|
@ -480,7 +480,7 @@ During the install a Provider report `INSTALLED` as `True` and `HEALTHY` as
|
|||
```shell {copy-lines="1"}
|
||||
kubectl get providers
|
||||
NAME INSTALLED HEALTHY PACKAGE AGE
|
||||
crossplane-contrib-provider-aws True Unknown xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.39.0 63s
|
||||
crossplane-contrib-provider-aws-s3 True Unknown xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0 63s
|
||||
```
|
||||
|
||||
After the Provider install completes and it's ready for use the `HEALTHY` status
|
||||
|
@ -489,7 +489,7 @@ reports `True`.
|
|||
```shell {copy-lines="1"}
|
||||
kubectl get providers
|
||||
NAME INSTALLED HEALTHY PACKAGE AGE
|
||||
crossplane-contrib-provider-aws True True xpkg.crossplane.io/crossplane-contrib/provider-aws:v0.39.0 88s
|
||||
crossplane-contrib-provider-aws-s3 True True xpkg.crossplane.io/crossplane-contrib/provider-aws-s3:v2.0.0 88s
|
||||
```
|
||||
|
||||
{{<hint "important" >}}
|
||||
|
@ -657,7 +657,7 @@ kind: Provider
|
|||
metadata:
|
||||
name: provider-gcp-iam
|
||||
spec:
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-gcp-iam:v1.12.1
|
||||
package: xpkg.crossplane.io/crossplane-contrib/provider-gcp-iam:v2.0.0
|
||||
runtimeConfigRef:
|
||||
name: enable-ess
|
||||
---
|
||||
|
@ -819,9 +819,10 @@ the key named
|
|||
{{<hover label="providerconfig" line="10" >}}aws-creds{{</hover >}}.
|
||||
<!-- vale write-good.Weasel = YES -->
|
||||
```yaml {label="providerconfig"}
|
||||
apiVersion: aws.crossplane.io/v1beta1
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: aws-provider
|
||||
spec:
|
||||
credentials:
|
||||
|
@ -839,6 +840,52 @@ Read the documentation on a specific Provider for instructions on configuring
|
|||
authentication for that Provider.
|
||||
{{< /hint >}}
|
||||
|
||||
#### ProviderConfig types
|
||||
|
||||
The AWS provider supports two types of ProviderConfig resources:
|
||||
|
||||
**ProviderConfig** (namespace-scoped):
|
||||
```yaml
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: my-config
|
||||
# Applies only to MRs in the same namespace
|
||||
```
|
||||
|
||||
**ClusterProviderConfig** (cluster-wide):
|
||||
```yaml
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ClusterProviderConfig
|
||||
metadata:
|
||||
name: my-cluster-config
|
||||
# Applies to MRs across all namespaces
|
||||
```
|
||||
|
||||
When referencing any ProviderConfig, managed resources must specify both `name` and `kind`:
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: my-cluster-config
|
||||
kind: ClusterProviderConfig
|
||||
```
|
||||
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: my-config
|
||||
kind: ProviderConfig # References namespaced ProviderConfig
|
||||
```
|
||||
|
||||
If you omit `providerConfigRef` entirely, it defaults to:
|
||||
```yaml
|
||||
spec:
|
||||
providerConfigRef:
|
||||
name: default
|
||||
kind: ClusterProviderConfig
|
||||
```
|
||||
|
||||
<!-- vale write-good.TooWordy = NO -->
|
||||
<!-- allow multiple -->
|
||||
ProviderConfig objects apply to individual Managed Resources. A single
|
||||
|
@ -855,9 +902,10 @@ For example, two AWS ProviderConfigs, named
|
|||
use different Kubernetes secrets.
|
||||
|
||||
```yaml {label="user"}
|
||||
apiVersion: aws.crossplane.io/v1beta1
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: user-keys
|
||||
spec:
|
||||
credentials:
|
||||
|
@ -869,9 +917,10 @@ spec:
|
|||
```
|
||||
|
||||
```yaml {label="admin"}
|
||||
apiVersion: aws.crossplane.io/v1beta1
|
||||
apiVersion: aws.m.upbound.io/v1beta1
|
||||
kind: ProviderConfig
|
||||
metadata:
|
||||
namespace: default
|
||||
name: admin-keys
|
||||
spec:
|
||||
credentials:
|
||||
|
@ -889,15 +938,17 @@ resource using the
|
|||
{{<hover label="user-bucket" line="9" >}}user-keys{{< /hover >}} ProviderConfig.
|
||||
|
||||
```yaml {label="user-bucket"}
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
namespace: default
|
||||
name: user-bucket
|
||||
spec:
|
||||
forProvider:
|
||||
region: us-east-2
|
||||
providerConfigRef:
|
||||
name: user-keys
|
||||
kind: ProviderConfig
|
||||
```
|
||||
|
||||
This creates a second {{<hover label="admin-bucket" line="2" >}}Bucket{{< /hover >}}
|
||||
|
@ -905,13 +956,15 @@ resource using the
|
|||
{{<hover label="admin-bucket" line="9" >}}admin-keys{{< /hover >}} ProviderConfig.
|
||||
|
||||
```yaml {label="admin-bucket"}
|
||||
apiVersion: s3.aws.upbound.io/v1beta1
|
||||
apiVersion: s3.aws.m.upbound.io/v1beta1
|
||||
kind: Bucket
|
||||
metadata:
|
||||
name: user-bucket
|
||||
namespace: default
|
||||
name: admin-bucket
|
||||
spec:
|
||||
forProvider:
|
||||
region: us-east-2
|
||||
providerConfigRef:
|
||||
name: admin-keys
|
||||
kind: ProviderConfig
|
||||
```
|
||||
|
|
|
@ -215,14 +215,6 @@ watch-rds@{animate: true}
|
|||
Follow [Get Started with Managed Resources]({{<ref "../get-started/get-started-with-managed-resources">}})
|
||||
to see how managed resources work.
|
||||
|
||||
{{<hint "note">}}
|
||||
AWS managed resources fully support Crossplane v2.
|
||||
|
||||
<!-- vale gitlab.FutureTense = NO -->
|
||||
Maintainers are actively working to update managed resources for other systems including Azure,
|
||||
GCP, Terraform, Helm, GitHub, etc to support Crossplane v2.
|
||||
<!-- vale gitlab.FutureTense = YES -->
|
||||
{{</hint>}}
|
||||
|
||||
### Operations
|
||||
|
||||
|
|
Loading…
Reference in New Issue