contour
contour copied to clipboard
Spike to investigate running beta versions of HTTPProxy API
I'm curious about the extra overhead to maintain beta versions of the api. Sometimes I think we want to implement something, but don't always get the API spec right.
Looking back after some time and user input, we might want to change what we originally thought.
This issue is to determine the overhead of having beta versions of the api spec and how we could promote / update through various release cycles.
Practically, I think this will be using the newer CRD functionality available post 1.16. Once we use the CRD GA spec, there are options for setting the storage version for CRDs that let you have people apply the v1beta1 and it gets stored as v1beta2 (for example). If you ask for v1beta1, you get v1beta1, and if you ask for v1beta2, you get that.
It does require a conversion webhook though, I think. I haven't really looked into it very much.
See also the discussion in #2099. If you don't preserve multiple versions, then I don't think clusters can be automatically upgraded. You'd have to manually delete the old CRD versions before applying the new ones.
But in practice, I don't think that we need to worry too much until HTTPProxy v2 :)
But in practice, I don't think that we need to worry too much until HTTPProxy v2 :)
My thinking of this spike is to allow us to introduce alpha/beta api designs. For example, it might be nice to put the new status design into an alpha group and allow users to buy into it. We can play around with how the design works in practice, tweak it and then release when we have more data.
The purpose of this spike was to determine how much overhead this might add to our release/upgrade / development process.
The Contour project currently lacks enough contributors to adequately respond to all Issues.
This bot triages Issues according to the following rules:
- After 60d of inactivity, lifecycle/stale is applied
- After 30d of inactivity since lifecycle/stale was applied, the Issue is closed
You can:
- Mark this Issue as fresh by commenting
- Close this Issue
- Offer to help out with triage
Please send feedback to the #contour channel in the Kubernetes Slack
The Contour project currently lacks enough contributors to adequately respond to all Issues.
This bot triages Issues according to the following rules:
- After 60d of inactivity, lifecycle/stale is applied
- After 30d of inactivity since lifecycle/stale was applied, the Issue is closed
You can:
- Mark this Issue as fresh by commenting
- Close this Issue
- Offer to help out with triage
Please send feedback to the #contour channel in the Kubernetes Slack