diff --git a/docs/v0.13/cloud-providers/aws/aws-provider.md b/docs/v0.13/cloud-providers/aws/aws-provider.md
index 8918f2c8..cbb6b339 100644
--- a/docs/v0.13/cloud-providers/aws/aws-provider.md
+++ b/docs/v0.13/cloud-providers/aws/aws-provider.md
@@ -28,7 +28,7 @@ Run `setup.sh` to read `aws` credentials and region, and create an `aws
provider` instance in Crossplane:
```bash
-curl -O https://raw.githubusercontent.com/crossplane/crossplane/release-0.13/docs/snippets/configure/aws/provider.yaml
+curl -O https://raw.githubusercontent.com/crossplane/crossplane/release-0.13/docs/snippets/configure/aws/providerconfig.yaml
curl -O https://raw.githubusercontent.com/crossplane/crossplane/release-0.13/docs/snippets/configure/aws/setup.sh
./setup.sh [--profile aws_profile]
```
diff --git a/docs/v0.13/getting-started/compose-infrastructure.md b/docs/v0.13/getting-started/compose-infrastructure.md
index a58e539d..3f77d856 100644
--- a/docs/v0.13/getting-started/compose-infrastructure.md
+++ b/docs/v0.13/getting-started/compose-infrastructure.md
@@ -67,6 +67,11 @@ We will now install a `Configuration` that:
+> Note that this configuration will create an RDS instance using your default
+> VPC, which may or may not allow connections from the internet depending on how
+> it is configured. Select the AWS (New VPC) configuration if you wish to create
+> an RDS instance that will allow traffic from the internet.
+
```console
kubectl crossplane install configuration crossplane/getting-started-with-aws:master
```
@@ -74,6 +79,11 @@ kubectl crossplane install configuration crossplane/getting-started-with-aws:mas
+> Note that this configuration for AWS also includes several networking managed
+> resources that are required to provision a publicly available PostgreSQL
+> instance. Composition enables scenarios such as this, as well as far more
+> complex ones. See the [composition] documentation for more information.
+
```console
kubectl crossplane install configuration crossplane/getting-started-with-aws-with-vpc:master
```
@@ -267,9 +277,9 @@ Try the following command to watch your provisioned resources become ready:
kubectl get crossplane -l crossplane.io/claim-name=my-db
```
-You should also see a `Secret` in the `default` namespace named `db-conn` that
-contains keys that we defined in XRD. If they are filled by the composition, then
-they should appear:
+Once your `PostgreSQLInstance` is ready, you should see a `Secret` in the `default`
+namespace named `db-conn` that contains keys that we defined in XRD. If they were
+filled by the composition, then they should appear:
```console
$ kubectl describe secrets db-conn
diff --git a/docs/v0.13/getting-started/install-configure.md b/docs/v0.13/getting-started/install-configure.md
index 93c5aaf7..a2cd6fbd 100644
--- a/docs/v0.13/getting-started/install-configure.md
+++ b/docs/v0.13/getting-started/install-configure.md
@@ -166,7 +166,8 @@ kubectl create secret generic aws-creds -n crossplane-system --from-file=key=./c
### Configure the Provider
-Create the following `provider.yaml`:
+We will create the following `ProviderConfig` object to configure credentials for AWS
+Provider:
```yaml
apiVersion: aws.crossplane.io/v1beta1
@@ -181,11 +182,8 @@ spec:
name: aws-creds
key: key
```
-
-Then apply it:
-
```console
-kubectl apply -f provider.yaml
+kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/master/docs/snippets/configure/aws/providerconfig.yaml
```
@@ -229,28 +227,24 @@ kubectl create secret generic gcp-creds -n crossplane-system --from-file=key=./c
### Configure the Provider
-Create the following `provider.yaml`:
+We will create the following `ProviderConfig` object to configure credentials for GCP
+Provider:
-```yaml
-apiVersion: gcp.crossplane.io/v1beta1
+```console
+# replace this with your own gcp project id
+PROJECT_ID=my-project
+echo "apiVersion: gcp.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: default
spec:
- # replace this with your own gcp project id
- projectID: my-project
+ projectID: ${PROJECT_ID}
credentials:
source: Secret
secretRef:
namespace: crossplane-system
name: gcp-creds
- key: key
-```
-
-Then apply it:
-
-```console
-kubectl apply -f provider.yaml
+ key: key" | kubectl apply -f -
```
@@ -293,7 +287,8 @@ kubectl create secret generic azure-creds -n crossplane-system --from-file=key=.
### Configure the Provider
-Create the following `provider.yaml`:
+We will create the following `ProviderConfig` object to configure credentials for
+Azure Provider:
```yaml
apiVersion: azure.crossplane.io/v1beta1
@@ -308,11 +303,8 @@ spec:
name: azure-creds
key: key
```
-
-Then apply it:
-
```console
-kubectl apply -f provider.yaml
+kubectl apply -f https://raw.githubusercontent.com/crossplane/crossplane/master/docs/snippets/configure/azure/providerconfig.yaml
```
@@ -327,12 +319,14 @@ kubectl crossplane install provider crossplane/provider-alibaba:v0.3.0
### Create a Provider Secret
```console
+# Replace