kcp icon indicating copy to clipboard operation
kcp copied to clipboard

feature: Do not require `APIConversion` to exist for `APIResourceSchema` if no conversion required

Open hasheddan opened this issue 2 years ago • 5 comments

Feature Description

Currently, if an APIResourceSchema supports multiple versions and there is no corresponding APIConversion, creating an APIBinding for an APIExport that includes the APIResourceSchema fails. In short, an APIConversion is required for any APIResourceSchema with multiple versions, even if the APIConversion contains no conversion information (i.e. empty spec).

Proposed Solution

If no conversion information is required to move from one version to another, for example when the versions are identical or dropping fields is acceptable, it would be convenient to assume that the lack of an APIConversion is equivalent to the presence of an empty APIConversion.

Alternative Solutions

The alternative would be to keep the current system, or have the system generate the no-op APIConversion in the cluster and manage its lifecycle. However, in the latter case it would be unclear as to whether the user is planning to add an APIConversion but just created the APIResourceSchema first.

Want to contribute?

  • [X] I would like to work on this issue.

Additional Context

No response

hasheddan avatar Jan 27 '23 13:01 hasheddan