Skip to content

Conversation

@ytsarev
Copy link
Member

@ytsarev ytsarev commented Jan 28, 2026

Description of your changes

  • XRD API version: apiextensions.crossplane.io/v1v2

  • Resource kinds: Removed X-prefix (XClusterCluster, XSQLInstanceSQLInstance, etc.)

  • Scope: All XRs are now namespaced (scope: Namespaced)

  • File naming: Renamed examples from *-claim.yaml to *-xr.yaml

  • Management: deletionPolicymanagementPolicies array

  • Dependencies: Updated all 6 dependent configurations to v2.0.0 (configuration-app to v2.1.0)

  • XRDs: Updated to v2 API with namespace scope, removed claimNames and connectionSecretKeys

  • Functions: Updated to use namespaced provider APIs (azurem, helmm) and v2 patterns

  • Tests: Updated composition and E2E tests to v2 conventions with proper namespace handling

  • Usage Resources: Migrated to protection.crossplane.io/v1beta1 API with namespace support

  • Provider Config: Added provider-family-azure to E2E test initResources for RBAC workaround

  • Fixed configuration-app label propagation to support Usage resource dependencies

  • Updated helm Release API to namespaced version in Usage resources

I have:

  • Read and followed Upbound's contribution process.
  • Run make reviewable to ensure this PR is ready for review.
  • Added backport release-x.y labels to auto-backport this PR, as appropriate.

How has this code been tested

  • ✅ All composition tests passing

  • ✅ E2E test passing

  • skipDelete: True and Acceptance testing of ghost application

kubectl port-forward -n ghost svc/$(kubectl get svc -n ghost -l app.kubernetes.io/name=ghost -ojsonpath='{.items[0].metadata.name}') 8080:80
Forwarding from 127.0.0.1:8080 -> 2368
Forwarding from [::1]:8080 -> 2368
open http://127.0.0.1:8080/ghost
image

…resources.

- XRD API version: `apiextensions.crossplane.io/v1` → `v2`
- Resource kinds: Removed X-prefix (`XCluster` → `Cluster`, `XSQLInstance` → `SQLInstance`, etc.)
- Scope: All XRs are now namespaced (`scope: Namespaced`)
- File naming: Renamed examples from `*-claim.yaml` to `*-xr.yaml`
- Management: `deletionPolicy` → `managementPolicies` array

- **Dependencies**: Updated all 6 dependent configurations to v2.0.0 (configuration-app to v2.1.0)
- **XRDs**: Updated to v2 API with namespace scope, removed `claimNames` and `connectionSecretKeys`
- **Functions**: Updated to use namespaced provider APIs (`azurem`, `helmm`) and v2 patterns
- **Tests**: Updated composition and E2E tests to v2 conventions with proper namespace handling
- **Usage Resources**: Migrated to `protection.crossplane.io/v1beta1` API with namespace support
- **Provider Config**: Added provider-family-azure to E2E test initResources for RBAC workaround

- Fixed configuration-app label propagation to support Usage resource dependencies
- Updated helm Release API to namespaced version in Usage resources

- ✅ All composition tests passing
- ✅ E2E test passing

Signed-off-by: Yury Tsarev <yury@upbound.io>
@ytsarev ytsarev requested a review from a team as a code owner January 28, 2026 12:40
Signed-off-by: Yury Tsarev <yury@upbound.io>
Signed-off-by: Yury Tsarev <yury@upbound.io>
Signed-off-by: Yury Tsarev <yury@upbound.io>
Signed-off-by: Yury Tsarev <yury@upbound.io>
@ytsarev ytsarev changed the title Migrates platform-ref-azure from Crossplane v1 to v2 with namespaced resources Migrate platform-ref-azure from Crossplane v1 to v2 with namespaced resources Jan 28, 2026
Signed-off-by: Yury Tsarev <yury@upbound.io>
@ytsarev ytsarev merged commit 4d87a16 into upbound:main Jan 29, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants