github crossplane/upjet v2.0.0

one day ago

We are excited to announce Upjet v2.0.0 is available. This release introduces support for generating Crossplane v2 compatible providers with namespaced MRs.

Crossplane v2 compatibility

Upjet v2 generates Crossplane v2-compatible namespaced Managed Resources (MRs) and providers.
During the transition period of the providers, Upjet continues to generate cluster-scoped MRs along with new namespace-scoped MRs.

Namespaced MR APIs

Namespaced MR Go types now embed v2.ManagedResourceSpec. Per Crossplane v2 changes, this effectively makes the generated namespaced MR API:

  • spec.writeConnectionSecretToRef: connection secret refs are now local references (without namespace)
  • remove spec.deletionPolicy from namespaced MR specs, this is now expected to be configured via management policies
  • remove spec.publishConnectionDetailsTo as XPv2 removed support for External Secret Stores (ESS)
  • generate local secret refs for sensitive input parameters in spec.forProvider, e.g. spec.forProvider.fooSecretRef.
  • generate optionally namespaced reference/selector fields for cross-resource references.

Directory Structure changes

To facilitate both cluster-scoped and namespace-scoped APIs at the same repository, generated providers will have apis/ internal/controller/ examples-generated/

Module changes

  • upjet module is bumped to v2
  • bumped crossplane-runtime to v2 and updated all the import paths

Upgrade guide

Existing providers can refere to the upgrade guide
Fresh providers can start with the upjet-provider-template and follow provider generation guide to generate a new provider.

What's Changed

New Contributors

Full Changelog: v1.9.0...v2.0.0

Don't miss a new upjet release

NewReleases is sending notifications on new releases.