From 1e70c4cc36b380cd7479c153901e0b444f99eb51 Mon Sep 17 00:00:00 2001 From: Philippe Scorsolini Date: Fri, 27 Jun 2025 14:57:55 +0200 Subject: [PATCH 1/3] Dropped default registries in crossplane v2 Signed-off-by: Philippe Scorsolini --- content/v2.0-preview/whats-new/_index.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/content/v2.0-preview/whats-new/_index.md b/content/v2.0-preview/whats-new/_index.md index 1bd1903d..2ae4b8eb 100644 --- a/content/v2.0-preview/whats-new/_index.md +++ b/content/v2.0-preview/whats-new/_index.md @@ -221,6 +221,7 @@ Crossplane v2 makes the following breaking changes: * It removes native patch and transform composition. * It removes the `ControllerConfig` type. * It removes support for external secret stores. +* It removes the default registry for Crossplane Packages. Crossplane deprecated native patch and transform composition in Crossplane v1.17. It's replaced by composition functions. @@ -231,11 +232,27 @@ Crossplane deprecated the `ControllerConfig` type in v1.11. It's replaced by the Crossplane added external secret stores in v1.7. External secret stores have remained in alpha for over two years and are now unmaintained. +Crossplane, introduced configurable default registries (`--registry`) in v1.15, +when the default moved from `index.docker.io` to `xpkg.upbound.io`. In v1.20 +the default changed to `xpkg.crossplane.io`. Crossplane v2 drops the +`--registry` flag and requires users to specify a registry URL when installing +packages, both directly via `spec.package` and indirectly as dependencies. +Using fully qualified images was already a best practice, but it's now enforced +to avoid confusion, and ensure users are aware of the registry used by their +packages. + {{}} As long as you're not using these deprecated or alpha features, Crossplane v2 is backward compatible with Crossplane v1.x. {{}} +{{}} +Before upgrading to Crossplane v2, please ensure all your Packages fully +qualified images used by running `kubectl get pkg`, looking for non fully +qualified images, and update, or rebuild, Packages to use fully qualified +images, as needed. +{{}} + Crossplane v2 supports legacy v1-style XRs and MRs. Most users will be able to upgrade from v1.x to Crossplane v2 without breaking changes. From 6837a5954c85a717b29be7298611e693b8e663fe Mon Sep 17 00:00:00 2001 From: Philippe Scorsolini Date: Tue, 1 Jul 2025 12:20:22 +0200 Subject: [PATCH 2/3] review Co-authored-by: Jared Watts Signed-off-by: Philippe Scorsolini --- content/v2.0-preview/whats-new/_index.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/content/v2.0-preview/whats-new/_index.md b/content/v2.0-preview/whats-new/_index.md index 2ae4b8eb..77608633 100644 --- a/content/v2.0-preview/whats-new/_index.md +++ b/content/v2.0-preview/whats-new/_index.md @@ -232,14 +232,12 @@ Crossplane deprecated the `ControllerConfig` type in v1.11. It's replaced by the Crossplane added external secret stores in v1.7. External secret stores have remained in alpha for over two years and are now unmaintained. -Crossplane, introduced configurable default registries (`--registry`) in v1.15, -when the default moved from `index.docker.io` to `xpkg.upbound.io`. In v1.20 -the default changed to `xpkg.crossplane.io`. Crossplane v2 drops the -`--registry` flag and requires users to specify a registry URL when installing -packages, both directly via `spec.package` and indirectly as dependencies. +Crossplane v2 drops the `--registry` flag that allowed users to specify a default +registry value and now requires users to always specify a fully qualified URL when +installing packages, both directly via `spec.package` and indirectly as dependencies. Using fully qualified images was already a best practice, but it's now enforced -to avoid confusion, and ensure users are aware of the registry used by their -packages. +to avoid confusion and unexpected behavior, as well as to ensure users are aware +of the registry used by their packages. {{}} As long as you're not using these deprecated or alpha features, Crossplane v2 is @@ -247,10 +245,10 @@ backward compatible with Crossplane v1.x. {{}} {{}} -Before upgrading to Crossplane v2, please ensure all your Packages fully -qualified images used by running `kubectl get pkg`, looking for non fully -qualified images, and update, or rebuild, Packages to use fully qualified -images, as needed. +Before upgrading to Crossplane v2, please ensure all your Packages are using fully +qualified images that explicitly specify a registry, i.e. `registry.example.com/repo/package:tag`. + +Run `kubectl get pkg` to look for any packages that are not fully qualified, then update or rebuild any Packages to use fully qualified images as needed. {{}} From 9a01f6633b73e3be93fd08f9a0d174e72ac896a8 Mon Sep 17 00:00:00 2001 From: Philippe Scorsolini Date: Tue, 1 Jul 2025 12:24:51 +0200 Subject: [PATCH 3/3] vale Signed-off-by: Philippe Scorsolini --- content/v2.0-preview/whats-new/_index.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/v2.0-preview/whats-new/_index.md b/content/v2.0-preview/whats-new/_index.md index 77608633..0aab0076 100644 --- a/content/v2.0-preview/whats-new/_index.md +++ b/content/v2.0-preview/whats-new/_index.md @@ -236,8 +236,8 @@ Crossplane v2 drops the `--registry` flag that allowed users to specify a defaul registry value and now requires users to always specify a fully qualified URL when installing packages, both directly via `spec.package` and indirectly as dependencies. Using fully qualified images was already a best practice, but it's now enforced -to avoid confusion and unexpected behavior, as well as to ensure users are aware -of the registry used by their packages. +to avoid confusion and unexpected behavior, to ensure users are aware of the +registry used by their packages. {{}} As long as you're not using these deprecated or alpha features, Crossplane v2 is @@ -246,9 +246,10 @@ backward compatible with Crossplane v1.x. {{}} Before upgrading to Crossplane v2, please ensure all your Packages are using fully -qualified images that explicitly specify a registry, i.e. `registry.example.com/repo/package:tag`. +qualified images that explicitly specify a registry (`registry.example.com/repo/package:tag`). -Run `kubectl get pkg` to look for any packages that are not fully qualified, then update or rebuild any Packages to use fully qualified images as needed. +Run `kubectl get pkg` to look for any packages that aren't fully qualified, then +update or rebuild any Packages to use fully qualified images as needed. {{}}