Skip to content

chore: migrate provider to crossplane-runtime/v2#304

Open
justin-luong wants to merge 8 commits into
mainfrom
feat/crossplane-runtime-v2
Open

chore: migrate provider to crossplane-runtime/v2#304
justin-luong wants to merge 8 commits into
mainfrom
feat/crossplane-runtime-v2

Conversation

@justin-luong

Copy link
Copy Markdown

Migrate the Cloud Foundry provider to crossplane-runtime/v2 v2.2.2.

  • Bumped xp-clifford to v0.0.0-20260528123824-27644fae68e8 (v2-migrated)
  • Renamed managed.WithExternalConnecter -> WithExternalConnector and ExternalConnecter -> ExternalConnector across all controllers
  • Added ProviderConfigKinds.Usage to fix runtime panic in v2 reconciler
  • Added documented SA1019 exclusion in .golangci.yml for unavoidable deprecated APIs (LegacyManaged, GetEventRecorderFor) that v2 still requires in public signatures
  • Fixed Makefile typo: xpkg.build.crossplane-provider-cloudfoundry -> xpkg.build.provider-cloudfoundry, eliminating "No such image" race on clean builds
  • Removed StoreConfig type, CRD, and examples (External Secret Stores feature was dropped in Crossplane v2)
  • Regenerated CRDs with controller-gen v0.20.0; publishConnectionDetailsTo schema is no longer emitted (xpv1.PublishConnectionDetailsTo removed in v2)

Potentially Breaking Change: External Secret Stores support removed as crossplane-runtime/v2 no longer provides xpv1.SecretStoreConfig, xpv1.PublishConnectionDetailsTo and the entire ESS reconciler

  • Replace publishConnectionDetailsTo: with writeConnectionSecretToRef:
  • The StoreConfig CRD is gone; use Kubernetes Secrets + downstream tooling (External Secrets Operator, Vault CSI driver, etc.) for external secret backends.

Migrate the Cloud Foundry provider to crossplane-runtime/v2 v2.2.2.

* Bumped xp-clifford to v0.0.0-20260528123824-27644fae68e8 (v2-migrated)
* Renamed managed.WithExternalConnecter -> WithExternalConnector and ExternalConnecter -> ExternalConnector across all controllers
* Added ProviderConfigKinds.Usage to fix runtime panic in v2 reconciler
* Added documented SA1019 exclusion in .golangci.yml for unavoidable deprecated APIs (LegacyManaged, GetEventRecorderFor) that v2 still requires in public signatures
* Fixed Makefile typo: xpkg.build.crossplane-provider-cloudfoundry -> xpkg.build.provider-cloudfoundry, eliminating "No such image" race
  on clean builds
* Removed StoreConfig type, CRD, and examples (External Secret Stores feature was dropped in Crossplane v2)
* Regenerated CRDs with controller-gen v0.20.0; publishConnectionDetailsTo schema is no longer emitted (xpv1.PublishConnectionDetailsTo removed in v2)

Potentially Breaking Change: External Secret Stores support removed as crossplane-runtime/v2 no longer provides xpv1.SecretStoreConfig, xpv1.PublishConnectionDetailsTo and the entire ESS reconciler
* Replace `publishConnectionDetailsTo:` with `writeConnectionSecretToRef:`
* The StoreConfig CRD is gone; use Kubernetes Secrets + downstream tooling (External Secrets Operator, Vault CSI driver, etc.) for
  external secret backends.
@justin-luong justin-luong reopened this Jun 3, 2026
justin-luong and others added 4 commits June 3, 2026 10:14
The vendor hash in config.nix was computed against the pre-migration go.mod / go.sum. Updating xp-clifford and switching to crossplane-runtime/v2 changed the modules tarball, so the SHA-256 no longer matches. Use the value reported by the "Comparing vendor hash values" CI job.
@SatabdiG

Copy link
Copy Markdown
Contributor

Given that ESS was alpha, never graduated, required a deliberate multi-step opt-in and was dropped in crossplane-runtime v2 precisely because adoption was negligible —We proceed with a prominent migration note in the release notes and on the community call.

@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:35 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 10, 2026 09:36 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 10, 2026 11:13 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-approval June 11, 2026 11:01 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG had a problem deploying to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Failure
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:09 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:16 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:18 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 11, 2026 11:22 — with GitHub Actions Inactive
@SatabdiG SatabdiG deployed to pr-e2e-approval June 17, 2026 12:33 — with GitHub Actions Active
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG temporarily deployed to pr-e2e-no-approval June 17, 2026 12:55 — with GitHub Actions Inactive
@SatabdiG SatabdiG deployed to pr-e2e-no-approval June 17, 2026 13:02 — with GitHub Actions Active
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants