istio / enhancements

Enhancement Tracking and Backlog Repo for Istio Releases
14 stars 42 forks source link

APIs Release and Versioning Model #160

Closed whitneygriffith closed 9 months ago

whitneygriffith commented 1 year ago

Istio has chosen to not use conversion webhooks to manage CRD versions due to its complexity and therefore the schemas of all versions of a CRD are identical.

As such, as long as the previous versions of a CRD is supported, field annotations will be used to denote the subset of fields that are Deprecated across all versions of the CRD.

An example of denoting a field as deprecated can be seen in the v1alpha3 gateway and the v1beta1 gateway.

There aren't infrastructure to support denoting a field based on their stage such as Alpha or Beta. However, work for this was proposed here but John doesn't know to what extent it was implemented.

Future API graduation will more than likely occur at the field level and as such we want to use our learnings from Telemetry API graduation to provide opionated guidance on how to do other similar graduations.

Options we want to explore here are:

whitneygriffith commented 1 year ago

Proposed Istio APIs Release Model

whitneygriffith commented 9 months ago

Release Channels will be the solution to this. This work is tracked here 173