-
Notifications
You must be signed in to change notification settings - Fork 339
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resource Versioning #3067
Comments
Not sure if you already have implementation plans, but I recently used the |
There are no concrete implementation plans so far :) cool, I'll take a look into
yeah, that's a good point, we definitely have to add |
It should be fine, doesn't use k8s cluster things, just defines ways to map between API versions of a given kind. But does involve a good bit of overhead. |
Do you have an idea about how resource versioning helps the transition to the new policy matching world? |
This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. |
This issue was inactive for 30 days it will be reviewed in the next triage meeting and might be closed. |
Context
Today Kuma resources don’t have versions. Even though on Kubernetes Kuma resources are presented as CRDs with GroupVersionKind, it’s not reflected in the internal Kuma model and that’s why it’s not propagated to Universal. Since we’re about to make some breaking changes related to policy matching, resource versioning is important to have backward compatibility support.
Implementation
Resource versioning could be added by introducing a new field to the Kuma core model. Today it consists of
Mesh
,Name
, andType
. So on Universal when a user creates resource these fields have to be specified:A new field could be called
apiVersion
or something else but probably not just aversion
since it could be treated as object version, not API or type version.On Kubernetes, the version will be converted to GroupVersionKind, so a new set of CRDs has to be created for every new version.
If a user didn’t specify the
apiVersion
, an old version calledv1alpha1
will be used.The text was updated successfully, but these errors were encountered: