From b1a405374e2eb81eca6e3db91e0e9e4affdc412b Mon Sep 17 00:00:00 2001 From: Jared Watts Date: Fri, 16 Jan 2026 19:02:50 -0800 Subject: [PATCH] v2 upgrade guide details for XR connection details and upgrade paths Signed-off-by: Jared Watts --- .../master/guides/upgrade-to-crossplane-v2.md | 22 +++++++++++++++++-- .../v2.0/guides/upgrade-to-crossplane-v2.md | 22 +++++++++++++++++-- .../v2.1/guides/upgrade-to-crossplane-v2.md | 22 +++++++++++++++++-- 3 files changed, 60 insertions(+), 6 deletions(-) diff --git a/content/master/guides/upgrade-to-crossplane-v2.md b/content/master/guides/upgrade-to-crossplane-v2.md index 429b3a020..ad18f3793 100644 --- a/content/master/guides/upgrade-to-crossplane-v2.md +++ b/content/master/guides/upgrade-to-crossplane-v2.md @@ -13,10 +13,21 @@ namespaced resources, the ability to compose any Kubernetes resource, and new operational workflows. {{}} -Only upgrade to Crossplane v2 from Crossplane v1.20, the final v1.x release. -If you're running an earlier version, upgrade to v1.20 first. +Only upgrade to Crossplane v2 from Crossplane `v1.20`, the final `v1.x` release. +If you're running an earlier version, upgrade to `v1.20` first. {{}} + +{{}} +Always upgrade Crossplane **one minor version at a time**, using the most recent +patch version available for each. + +For example, if you are on `v1.19` and want to upgrade to `v2.1`, you should +first upgrade to `v1.20`, then `v2.0`, before finally upgrading to `v2.1`. The +upgrade path in this example looks like `v1.19` → `v1.20` → `v2.0` → `v2.1`. +{{}} + + {{}} There's no automated tooling yet to migrate existing v1 cluster-scoped XRs and MRs to v2 namespaced style. You can upgrade to Crossplane v2 and @@ -42,6 +53,7 @@ Crossplane v2 removes these deprecated features: * [Native patch and transform composition](#native-patch-and-transform-composition) * [ControllerConfig type](#controllerconfig-type) * [External secret stores](#external-secret-stores) +* [Composite resource connection details](#composite-resource-connection-details) * [Default registry flag](#default-registry-flag) ### Native patch and transform composition @@ -81,6 +93,12 @@ crossplane beta convert deployment-runtime controller-config.yaml -o deployment- If you're using external secret stores, migrate to native Kubernetes secrets or [External Secrets Operator](https://external-secrets.io/latest/) before upgrading. +### Composite resource connection details +**Removed**: composite resources no longer have native connection details support. + +You can recreate this feature by composing your own connection details `Secret` +as described in the [connection details composition guide]({{}}). + ### Default registry flag **Removed**: `--registry` flag for default package registry diff --git a/content/v2.0/guides/upgrade-to-crossplane-v2.md b/content/v2.0/guides/upgrade-to-crossplane-v2.md index 429b3a020..ad18f3793 100644 --- a/content/v2.0/guides/upgrade-to-crossplane-v2.md +++ b/content/v2.0/guides/upgrade-to-crossplane-v2.md @@ -13,10 +13,21 @@ namespaced resources, the ability to compose any Kubernetes resource, and new operational workflows. {{}} -Only upgrade to Crossplane v2 from Crossplane v1.20, the final v1.x release. -If you're running an earlier version, upgrade to v1.20 first. +Only upgrade to Crossplane v2 from Crossplane `v1.20`, the final `v1.x` release. +If you're running an earlier version, upgrade to `v1.20` first. {{}} + +{{}} +Always upgrade Crossplane **one minor version at a time**, using the most recent +patch version available for each. + +For example, if you are on `v1.19` and want to upgrade to `v2.1`, you should +first upgrade to `v1.20`, then `v2.0`, before finally upgrading to `v2.1`. The +upgrade path in this example looks like `v1.19` → `v1.20` → `v2.0` → `v2.1`. +{{}} + + {{}} There's no automated tooling yet to migrate existing v1 cluster-scoped XRs and MRs to v2 namespaced style. You can upgrade to Crossplane v2 and @@ -42,6 +53,7 @@ Crossplane v2 removes these deprecated features: * [Native patch and transform composition](#native-patch-and-transform-composition) * [ControllerConfig type](#controllerconfig-type) * [External secret stores](#external-secret-stores) +* [Composite resource connection details](#composite-resource-connection-details) * [Default registry flag](#default-registry-flag) ### Native patch and transform composition @@ -81,6 +93,12 @@ crossplane beta convert deployment-runtime controller-config.yaml -o deployment- If you're using external secret stores, migrate to native Kubernetes secrets or [External Secrets Operator](https://external-secrets.io/latest/) before upgrading. +### Composite resource connection details +**Removed**: composite resources no longer have native connection details support. + +You can recreate this feature by composing your own connection details `Secret` +as described in the [connection details composition guide]({{}}). + ### Default registry flag **Removed**: `--registry` flag for default package registry diff --git a/content/v2.1/guides/upgrade-to-crossplane-v2.md b/content/v2.1/guides/upgrade-to-crossplane-v2.md index 429b3a020..ad18f3793 100644 --- a/content/v2.1/guides/upgrade-to-crossplane-v2.md +++ b/content/v2.1/guides/upgrade-to-crossplane-v2.md @@ -13,10 +13,21 @@ namespaced resources, the ability to compose any Kubernetes resource, and new operational workflows. {{}} -Only upgrade to Crossplane v2 from Crossplane v1.20, the final v1.x release. -If you're running an earlier version, upgrade to v1.20 first. +Only upgrade to Crossplane v2 from Crossplane `v1.20`, the final `v1.x` release. +If you're running an earlier version, upgrade to `v1.20` first. {{}} + +{{}} +Always upgrade Crossplane **one minor version at a time**, using the most recent +patch version available for each. + +For example, if you are on `v1.19` and want to upgrade to `v2.1`, you should +first upgrade to `v1.20`, then `v2.0`, before finally upgrading to `v2.1`. The +upgrade path in this example looks like `v1.19` → `v1.20` → `v2.0` → `v2.1`. +{{}} + + {{}} There's no automated tooling yet to migrate existing v1 cluster-scoped XRs and MRs to v2 namespaced style. You can upgrade to Crossplane v2 and @@ -42,6 +53,7 @@ Crossplane v2 removes these deprecated features: * [Native patch and transform composition](#native-patch-and-transform-composition) * [ControllerConfig type](#controllerconfig-type) * [External secret stores](#external-secret-stores) +* [Composite resource connection details](#composite-resource-connection-details) * [Default registry flag](#default-registry-flag) ### Native patch and transform composition @@ -81,6 +93,12 @@ crossplane beta convert deployment-runtime controller-config.yaml -o deployment- If you're using external secret stores, migrate to native Kubernetes secrets or [External Secrets Operator](https://external-secrets.io/latest/) before upgrading. +### Composite resource connection details +**Removed**: composite resources no longer have native connection details support. + +You can recreate this feature by composing your own connection details `Secret` +as described in the [connection details composition guide]({{}}). + ### Default registry flag **Removed**: `--registry` flag for default package registry