chore(deps): update helm release crossplane to v2
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
crossplane (source) | HelmChart | major |
1.20.0 -> 2.0.2
|
⚠ ️ WarningSome dependencies could not be looked up. Check the warning logs for more information.
Release Notes
crossplane/crossplane (crossplane)
v2.0.2
This is a patch release scoped to fixing issues reported by users of Crossplane v2.0.
What's Changed
- [Backport release-2.0] Fix CRD-to-MRD converter to preserve provider configuration CRDs by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6722
Full Changelog: https://github.com/crossplane/crossplane/compare/v2.0.1...v2.0.2
v2.0.1
This is a patch release scoped to fixing issues reported by users of Crossplane v2.0.
⚠ ️ Install latest v2.0
patch release
v2.0.1
has some blocking issues that were discovered after extended post-release testing and feedback. It is not the most recent v2
patch release. We strongly advise installing the latest patch (v2.0.2
as of this writing) to have the highest quality experience in your control plane.
The most recent patch has been promoted to the stable
channel, so if you simply install or upgrade using the stable
channel, you don't need to take any further action.
What's Changed
- [Backport release-2.0] Support function cache XfnCacheMaxTTL CLI option by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6712
- [Backport release-2.0] Fix composed resource names containing invalid characters by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6714
Full Changelog: https://github.com/crossplane/crossplane/compare/v2.0.0...v2.0.1
v2.0.0
The v2.0.0
release is the first major version update in years for the Crossplane project. It takes all the feedback and lessons from our amazing community of adopters of v1.x
releases over the last 5 years and incorporates them into an improved, more capable, and streamlined experience. There are so many exciting enhancements that we are happy to share with the community today, as well as important changes to understand and consider when upgrading from v1.20
.
⚠ ️ Install latest v2.0
patch release
v2.0.0
has some blocking issues that were discovered after extended post-release testing and feedback. It is not the most recent v2
patch release. We strongly advise installing the latest patch (v2.0.2
as of this writing) to have the highest quality experience in your control plane.
The most recent patch has been promoted to the stable
channel, so if you simply install or upgrade using the stable
channel, you don't need to take any further action.
v1
Upgrade from It is strongly advised to upgrade to v2.0
from the most recent v1
minor version, which is v1.20
. Upon upgrade for each minor release, Crossplane performs any necessary migrations of its CRDs to ensure the latest versions are stored in the Kubernetes API server. Therefore, it is important to upgrade sequentially through one minor version at a time.
For example, if you are currently on v1.18
, then you should first upgrade to v1.19
, then v1.20
, before finally upgrading to v2.0
. The upgrade path in this example looks like v1.18
--> v1.19
--> v1.20
--> v2.0
. To reiterate, you should be running a v1.20
version before you upgrade to v2.0
.
🎉 Highlights
The v2 release is chock full of awesome new features that focus on making Crossplane easier to use, operate, and understand as well as be a better fit for application level resources in addition to infrastructure.
-
Broader composition capabilities - Compositions can now include any Kubernetes resource, e.g.
Deployment
,Configmap
,Secret
, custom resources - anything from the Kubernetes API, not just Crossplane-defined resources. This enables full-stack abstractions of both applications and infrastructure and makes Crossplane a great fit for your entire tech stack. - Namespaced by default - Composite Resources (XRs) and Managed Resources (MRs) are now namespaced by default, providing better isolation boundaries for your end users and aligning better with Kubernetes conventions and practices.
-
Declarative day two operations - The new
Operation
type supports one-off, scheduled, and event-driven workflows for operational tasks like backups, rolling upgrades, configuration validation, and scheduled maintenance. - Managed resource filtering - When installing a provider, you can now install only the specific managed resources you need instead of getting everything from a provider. No more 100's of CRDs that slow down your control plane!
-
Reconciliation observability - The reconciliation process of Crossplane objects is now easier to get insight into its progress as status conditions will now have the
observedGeneration
, i.e. the version of the resource, for which they were reconciled. You no longer need to wonder if Crossplane has seen and reconciled your latest changes.
🚨 Warnings and breaking changes
v1
Backwards Compatibility with The Crossplane maintainers have taken thoughtful consideration to make major improvements and changes in v2
while maintaining backwards compatibility for the vast majority of v1
workloads. We expect most users to be able to upgrade to v2
without any changes to their control plane. However, there is a set of 4 breaking changes that we have made, mostly to long deprecated features and features that have remained stuck in alpha for a long time.
If you are not using any of these 4 features, you can upgrade to v2
without any issues and your existing workload should continue operating as usual.
The following features have been removed:
- Native patch and transform within composition (
mode: Resources
)- You can migrate your compositions to use function pipelines with the
crossplane beta convert pipeline-composition
command available in thev1
crossplane
CLI. See the Crossplane docs for details.
- You can migrate your compositions to use function pipelines with the
-
ControllerConfig
- These have been replaced by
DeploymentRuntimeConfig
. You can migrate your existingControllerConfig
toDeploymentRuntimeConfig
with thecrossplane beta convert deployment-runtime
command available in thev1
crossplane
CLI. See the Crossplane docs for details.
- These have been replaced by
- External secret store support
- Crossplane no longer directly supports writing connection details to external destinations outside of the control plane. We recommend using an alternative such as External Secrets Operator. Note that It is still fully supported to write connection details to a
Secret
within the control plane usingspec.writeConnectionSecretToRef
available on managed resources.
- Crossplane no longer directly supports writing connection details to external destinations outside of the control plane. We recommend using an alternative such as External Secrets Operator. Note that It is still fully supported to write connection details to a
- Default registry
- When specifying a package for Crossplane to install, you must now fully qualify the package with the registry that hosts it, both directly via
spec.package
and indirectly as dependencies. For example, it is no longer valid to simply usecrossplane-contrib/provider-family-azure:v1.13.0
which does not specify the host registry. You must supply the fully qualified package, including the host registry, likexpkg.crossplane.io/crossplane-contrib/provider-family-azure:v1.13.0
. If a registry is not specified, then an error will be returned for the package.
- When specifying a package for Crossplane to install, you must now fully qualify the package with the registry that hosts it, both directly via
github.com/crossplane/crossplane/v2
Go module path is now As this release is a major version bump that has breaking changes, the rules for Go modules required the Crossplane module path to be updated to include the v2
version suffix.
If you import crossplane
and crossplane-runtime
into your go.mod
, when you update to v2+
you will also need to update the module path. All import statements in your code base need to be updated to also include this v2 module path, as it is effectively a module change.
See this commit as an example of this type of update: https://github.com/crossplane/crossplane/commit/d6c489c7c080a315051301a9d0e4167e1773657e
The module paths for v2 versions of crossplane
and crossplane-runtime
are:
github.com/crossplane/crossplane/v2
github.com/crossplane/crossplane-runtime/v2
Metrics name changes
The Prometheus metrics that Crossplane exposes for the controller engine and function response caches have been updated with the addition of Operations that expands the functionality of function pipelines. The names of these metrics have been updated as follows:
-
crossplane_composition_controllers_*
-->crossplane_engine_controllers_*
-
crossplane_composition_watches_*
-->crossplane_engine_watches_*
-
crossplane_composition_run_function_*
-->crossplane_function_run_function_*
login
/logout
removed from Crossplane CLI
The crossplane xpkg login
and crossplane xpkg logout
commands have been removed from the Crossplane CLI. To login to a registry before pushing a package, consider using docker login
locally, or the docker/login-action
from CI.
An example of this pattern can be seen in many Community Extension Projects, for example function-auto-ready
.
deletionPolicy
removed for namespaced managed resources
Namespaced managed resources, that are net new in v2, no longer have the deletionPolicy
field. This behavior can be recreated using a ManagementPolicy without the "Delete"
option. For example:
managementPolicies: ["Create", "Observe", "Update"]
Existing cluster scoped managed resources are not affected.
🏅 Release MVP
Since v2.0
is such a massive release with many months of effort across many contributors in the community, it was impossible to pick a single release MVP this time - so we're going big with 3 MVPs!
-
@joebowbeer did lots of bleeding edge testing and finding issues in the daily builds of Crossplane v2 in the
main
branch. He was often the quickest to spot any new regressions creeping in that e2e tests did not catch, so he contributed significantly to the overall quality of the release. - @jcogilvie is driving major improvements in the Crossplane CLI that will enable broader extensions to its functionality from the community. He's also driving SIG-cli to organize folks interested in more collaboration in this area.
-
@gotwarlost generously donated
function-hcl
as a Community Extension Project, which provides function users with a familiar HCL syntax and functionality.
Thank you very much release MVPs!
What's Changed
- chore(deps): bump crossplane-runtime to v1.21.0-rc.0 by @jbw976 in https://github.com/crossplane/crossplane/pull/6448
- chore: add release-1.20 to renovate baseBranches by @jbw976 in https://github.com/crossplane/crossplane/pull/6450
- fix: consistently watch unstructured.Unstructured in real time compositions by @jbw976 in https://github.com/crossplane/crossplane/pull/6462
- Use aliases for deprecated flags by @negz in https://github.com/crossplane/crossplane/pull/6471
- Misc package revision fixes from debugging
TestDowngrade
E2E failures by @negz in https://github.com/crossplane/crossplane/pull/6415 - v1.20 post release tasks by @jbw976 in https://github.com/crossplane/crossplane/pull/6480
- Update core Crossplane controllers to use the new observed generation condition manager by @n3wscott in https://github.com/crossplane/crossplane/pull/6442
- Let XR and claim conditions persist observed generation by @negz in https://github.com/crossplane/crossplane/pull/6490
- Merge Crossplane v2 changes into
main
by @negz in https://github.com/crossplane/crossplane/pull/6489 - Enable extracting package.yaml from private repositories. by @jastang in https://github.com/crossplane/crossplane/pull/6493
- Fix composite reconciler enabled features option by @ulucinar in https://github.com/crossplane/crossplane/pull/6504
- Create #sig-cli by @jcogilvie in https://github.com/crossplane/crossplane/pull/6508
- e2e: Wait for correct package in TestCompositionRevisionSelection by @turkenh in https://github.com/crossplane/crossplane/pull/6511
- Release v2.0 in August, not v1.21 by @negz in https://github.com/crossplane/crossplane/pull/6514
- chore(deps): update github/codeql-action digest to
fca7ace
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6204 - fix(deps): update module github.com/prometheus/client_golang to v1.22.0 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6099
- fix(deps): update module github.com/sigstore/sigstore to v1.9.4 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6100
- add env annotation to render docker runtime container by @blacs30 in https://github.com/crossplane/crossplane/pull/6372
- chore(deps): update actions/stale digest to
5bef64f
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6518 - chore(deps): update actions/create-github-app-token digest to
d72941d
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6517 - feat(crank): add support for list input to validate by @eric-carlsson in https://github.com/crossplane/crossplane/pull/6323
- fix(validate): digest handling and defaults from xrds/crds by @haarchri in https://github.com/crossplane/crossplane/pull/6519
- chore(deps): update bufbuild/buf-action digest to
c231a1a
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6524 - Don't label RBAC roles with the XRD that created them by @negz in https://github.com/crossplane/crossplane/pull/6521
- chore(deps): update module github.com/cloudflare/circl to v1.6.1 [security] (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6526
- Split out package runtime reconciler from revision controller by @turkenh in https://github.com/crossplane/crossplane/pull/6498
- chore(deps): update docker/login-action digest to
74a5d14
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6532 - refactor: use slices.Contains to simplify code by @one230six in https://github.com/crossplane/crossplane/pull/6531
- chore(deps): update github/codeql-action digest to
ce28f5b
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6536 - Support Rendering Default Values from XRD in Crossplane CLI by @man-ish-k in https://github.com/crossplane/crossplane/pull/6161
- Remove
spec.controllerConfigRef
from package types by @negz in https://github.com/crossplane/crossplane/pull/6520 - Drop
writeConnectionSecretToRef
from v2 XRs by @negz in https://github.com/crossplane/crossplane/pull/6473 - feat: deny protection.Usages across namepsace w/o by by @phisco in https://github.com/crossplane/crossplane/pull/6533
- chore(deps): update mheap/require-checklist-action digest to
46d2ca1
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6540 - Validate kubernetes resource name before applying XR by @twobiers in https://github.com/crossplane/crossplane/pull/6535
- Use DeepCopy when assigning from the runtime config Deployment template's spec by @ulucinar in https://github.com/crossplane/crossplane/pull/6538
- Proposal: Crossplane v2 by @negz in https://github.com/crossplane/crossplane/pull/6255
- fix: Add claim labels only if claim exist by @man-ish-k in https://github.com/crossplane/crossplane/pull/6541
- chore(deps): update gcr.io/distroless/static docker digest to
b7b9a69
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6542 - fix(deps): update module github.com/emicklei/dot to v1.8.0 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6177
- Enable crossplane to be deployed via ko by @n3wscott in https://github.com/crossplane/crossplane/pull/6510
- chore(deps): update renovatebot/github-action action to v41.0.22 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6547
- fix(deps): update module dario.cat/mergo to v1.0.2 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6554
- feat: drop v1alpha1 EnvironmentConfigs by @phisco in https://github.com/crossplane/crossplane/pull/6556
- chore: fix some comment by @chengehe in https://github.com/crossplane/crossplane/pull/6563
- chore(deps): update actions/upload-artifact digest to
ea165f8
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6523 - Drop
internal/xresource
- move back topkg/resource
from crossplane-runtime by @negz in https://github.com/crossplane/crossplane/pull/6553 - feat: drop default registry for packages by @phisco in https://github.com/crossplane/crossplane/pull/6548
- chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.3.0 [security] (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6573
- remove Upbound code from code base by @jbw976 in https://github.com/crossplane/crossplane/pull/6562
- Design document: Day Two Operations by @negz in https://github.com/crossplane/crossplane/pull/6557
- Bump to Go 1.24, golangci-lint v2.2 by @negz in https://github.com/crossplane/crossplane/pull/6584
- Split apart PackageRuntime setting into functions and providers by @n3wscott in https://github.com/crossplane/crossplane/pull/6567
- Run golangci-lint run --fix on main by @negz in https://github.com/crossplane/crossplane/pull/6592
- Disable wsl_v5 linter by @negz in https://github.com/crossplane/crossplane/pull/6593
- Block namespaced XRs from composing cluster scoped resources by @lsviben in https://github.com/crossplane/crossplane/pull/6588
- Attempt to tame E2E tests by @negz in https://github.com/crossplane/crossplane/pull/6598
- Make
TestCrossplaneLifecycle
E2E pass (sometimes?) by @negz in https://github.com/crossplane/crossplane/pull/6604 - chore(deps): update github/codeql-action digest to
181d5ee
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6608 - Automatically re-run each E2E step if it fails by @negz in https://github.com/crossplane/crossplane/pull/6607
- ci(e2es): export kind logs on failure by @phisco in https://github.com/crossplane/crossplane/pull/6609
- Add ManagedResourceDefinition one-pager by @negz in https://github.com/crossplane/crossplane/pull/6577
- Revert "ci(e2es): export kind logs on failure" by @negz in https://github.com/crossplane/crossplane/pull/6615
- Requeue on poll interval, not pipeline TTL, when RTC is disabled by @negz in https://github.com/crossplane/crossplane/pull/6619
- Add ManagedResourceDefinition type, solo. by @n3wscott in https://github.com/crossplane/crossplane/pull/6620
- chore(deps): pin nick-fields/retry action to
ce71cc2
(main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6616 - chore(deps): update dependency golang to v1.24.5 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6625
- Adding ManagedResourceActivationPolicy by @n3wscott in https://github.com/crossplane/crossplane/pull/6623
- Implement the new v1alpha1 Operation controller by @negz in https://github.com/crossplane/crossplane/pull/6594
- Enable the ops E2E test suite by @negz in https://github.com/crossplane/crossplane/pull/6629
- fix: Only set discard logger if debug is false by @simonklb in https://github.com/crossplane/crossplane/pull/6274
- Don't use strict validation when parsing fn runtime tags by @negz in https://github.com/crossplane/crossplane/pull/6627
- chore(deps): update dependency golangci/golangci-lint to v2.2.2 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6633
- feat: add xpkg batch command by @jbw976 in https://github.com/crossplane/crossplane/pull/6600
- chore(deps): update dependency earthly/earthly to v0.8.16 (main) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6637
- Implement
CronOperation
andWatchOperation
by @negz in https://github.com/crossplane/crossplane/pull/6632 - chore: update links for community accounts by @jbw976 in https://github.com/crossplane/crossplane/pull/6644
- chore: update community calendar link for month view by @jbw976 in https://github.com/crossplane/crossplane/pull/6645
- Handle deletes in
WatchOperation
(and add more E2Es) by @negz in https://github.com/crossplane/crossplane/pull/6641 - Pass provider, function and revisions names to runtime pods by @turkenh in https://github.com/crossplane/crossplane/pull/6634
- Bump XRDs to v2 by @lsviben in https://github.com/crossplane/crossplane/pull/6618
- chore: clean up info mailing list link, remove obsolete dev mailing list by @jbw976 in https://github.com/crossplane/crossplane/pull/6647
- MRD reconciler. by @n3wscott in https://github.com/crossplane/crossplane/pull/6624
- MRAP reconciler by @n3wscott in https://github.com/crossplane/crossplane/pull/6636
- Update metrics to reflect function and controller scope by @negz in https://github.com/crossplane/crossplane/pull/6640
- fix(spelling): musth to must by @haarchri in https://github.com/crossplane/crossplane/pull/6651
- fix: remove duplicate key in deployment.yaml template by @rnwgnr in https://github.com/crossplane/crossplane/pull/6648
- Adding CRD to MRD conversion to packages that have the SafeStart capability by @n3wscott in https://github.com/crossplane/crossplane/pull/6639
- Remove
.status.crossplane.connectionDetails
from modern XR schema by @jbw976 in https://github.com/crossplane/crossplane/pull/6655 - Mutate MRDs in the APIEstablisher validate method like CRDs by @n3wscott in https://github.com/crossplane/crossplane/pull/6660
- Name XR Children in a deterministic way. by @n3wscott in https://github.com/crossplane/crossplane/pull/6630
- Update ADOPTERS.md by @tenitski in https://github.com/crossplane/crossplane/pull/6666
- chore(mrd): Move MRD/MRAP api versions to v1alpha1 by @ezgidemirel in https://github.com/crossplane/crossplane/pull/6664
- Use a standard to represent the deleted time in a named operation by @n3wscott in https://github.com/crossplane/crossplane/pull/6661
- Expand on compose function error messaging if we see there is an issue with the composite resource. by @n3wscott in https://github.com/crossplane/crossplane/pull/6572
- Bump crossplane go module to v2, bump crossplane-runtime imports to v2 by @jbw976 in https://github.com/crossplane/crossplane/pull/6667
- fix(render): Render CLI command ignores XR Ready state by @tenitski in https://github.com/crossplane/crossplane/pull/6662
- move crd view rbac rules to provider system role by @n3wscott in https://github.com/crossplane/crossplane/pull/6677
- Don't filter owners based on controller for MRD to CRD watches. by @n3wscott in https://github.com/crossplane/crossplane/pull/6679
- fix: Add beta trace for namespaced resources by @man-ish-k in https://github.com/crossplane/crossplane/pull/6549
- Required changes for crossplane-diff by @jcogilvie in https://github.com/crossplane/crossplane/pull/6500
- Allow crossplane to merge existing MRDs from provider MRDs by @n3wscott in https://github.com/crossplane/crossplane/pull/6685
- api: roll back run function protobuf extra resources field name change by @jbw976 in https://github.com/crossplane/crossplane/pull/6682
- Dual field support for function resource requirements by @negz in https://github.com/crossplane/crossplane/pull/6686
- Fix diff produced by running
earthly +reviewable
by @ulucinar in https://github.com/crossplane/crossplane/pull/6688 - Fix: enforcedCompositonRef change requires pod restart by @ezgidemirel in https://github.com/crossplane/crossplane/pull/6683
- add exceptions to rbac related resources for name validation by @n3wscott in https://github.com/crossplane/crossplane/pull/6689
- chore(deps) bump crossplane-runtime to v2.0.0-rc.1 by @jbw976 in https://github.com/crossplane/crossplane/pull/6691
- [Backport release-2.0] Add alpha render subcommands for XRs and Operations by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6699
- [Backport release-2.0] Fuzzy match function capabilities by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6700
- chore(deps): bump crossplane-runtime to v2.0.0 by @jbw976 in https://github.com/crossplane/crossplane/pull/6702
New Contributors
- @n3wscott made their first contribution in https://github.com/crossplane/crossplane/pull/6442
- @jcogilvie made their first contribution in https://github.com/crossplane/crossplane/pull/6508
- @blacs30 made their first contribution in https://github.com/crossplane/crossplane/pull/6372
- @eric-carlsson made their first contribution in https://github.com/crossplane/crossplane/pull/6323
- @one230six made their first contribution in https://github.com/crossplane/crossplane/pull/6531
- @man-ish-k made their first contribution in https://github.com/crossplane/crossplane/pull/6161
- @chengehe made their first contribution in https://github.com/crossplane/crossplane/pull/6563
- @simonklb made their first contribution in https://github.com/crossplane/crossplane/pull/6274
- @rnwgnr made their first contribution in https://github.com/crossplane/crossplane/pull/6648
- @tenitski made their first contribution in https://github.com/crossplane/crossplane/pull/6666
Full Changelog: https://github.com/crossplane/crossplane/compare/v1.20.1...v2.0.0
v1.20.1
This is a patch release scoped to fixing issues reported by users of Crossplane v1.20 and fixing security related issues in Crossplane's dependencies.
What's Changed
- [Backport release-1.20] Fix composite reconciler enabled features option by @ulucinar in https://github.com/crossplane/crossplane/pull/6507
- chore(deps): update module github.com/cloudflare/circl to v1.6.1 [security] (release-1.20) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6529
- chore(deps): update module github.com/go-viper/mapstructure/v2 to v2.3.0 [security] (release-1.20) by @crossplane-renovate[bot] in https://github.com/crossplane/crossplane/pull/6574
- [Backport release-1.20] Requeue on poll interval, not pipeline TTL, when RTC is disabled by @github-actions[bot] in https://github.com/crossplane/crossplane/pull/6621
Full Changelog: https://github.com/crossplane/crossplane/compare/v1.20.0...v1.20.1
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.