You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Resources in Kubernetes move from beta to GA in different releases. Kubernetes usually maintains old resource endpoints for few releases before removing them.
If a user wants to use e.g. a StatefulSet now, this client library will use the v1beta1 endpoint that works with Kubernetes from 1.6 to 1.9. But in 1.9 StatefulSets are upgraded to v1. Endpoint v1beta1 still works (I guess), but it will be removed in later versions.
When a resource is alpha/beta, model and behavior may also change between releases (StatefulSet are a lot different from their ancestors PetSet).
That said, I think we should alert users when they are using a beta resource, because such resources will certainly change in future releases of Kubernetes (so users may need to upgrade this library in the best case if they upgrade Kubernetes).
I was thinking to two ways to alert them:
Deprecate beta features in the DSL methods, explaining in the deprecation message that they may be removed. This may seem counter-intuitive, since deprecation is usually used for old stuff, but helps the user to understand the risks of using them...
Another option is to display a warning log the first time a user try to access a resource with a alpha or beta version (it should be easier to maintain than 1)
Currently the set of beta features supported contains StatefulSet, ThirdPartyResource, CustomResourceDefinitions, DaemonSet and others...
I would like to know your opinion before going for one of the two..
Resources in Kubernetes move from
beta
to GA in different releases. Kubernetes usually maintains old resource endpoints for few releases before removing them.If a user wants to use e.g. a
StatefulSet
now, this client library will use thev1beta1
endpoint that works with Kubernetes from 1.6 to 1.9. But in 1.9StatefulSets
are upgraded tov1
. Endpointv1beta1
still works (I guess), but it will be removed in later versions.When a resource is alpha/beta, model and behavior may also change between releases (
StatefulSet
are a lot different from their ancestorsPetSet
).That said, I think we should alert users when they are using a beta resource, because such resources will certainly change in future releases of Kubernetes (so users may need to upgrade this library in the best case if they upgrade Kubernetes).
I was thinking to two ways to alert them:
alpha
orbeta
version (it should be easier to maintain than 1)Currently the set of beta features supported contains StatefulSet, ThirdPartyResource, CustomResourceDefinitions, DaemonSet and others...
I would like to know your opinion before going for one of the two..
@oscerd, @iocanel
The text was updated successfully, but these errors were encountered: