-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Migrate existing KB project to v1 CRDs and Webhooks with minimal user effort #1065
Comments
/priority important-soon |
Agreed, that seems untenable. We'll want to continue to generate v1beta1 CRDs in new versions of CT fo quite some time. |
In that case, v2 needs to still get periodic updates for at least a year,
IMO.
Might be less work for the KB maintainers if you stay at v2 and let the
user select whether to generate v1beta1 or v1 CRDs.
…On Tue, Nov 5, 2019 at 3:31 AM Camila Macedo ***@***.***> wrote:
Hi @DirectXMan12 <https://github.com/DirectXMan12>,
WDYT about if we keep the v2 using the no-structural schemas and the next
v3 generating it with apiextensions.k8s.io/v1? Would it be a good
approach?
c/c @joelanford <https://github.com/joelanford> @hasbro17
<https://github.com/hasbro17>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#1065?email_source=notifications&email_token=AB5245QMAERRVZCN7LRDSWLQSFKQJA5CNFSM4I4ZYVD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDCQW7Y#issuecomment-549784447>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AB5245SQERQTBTGUN5AXZVLQSFKQJANCNFSM4I4ZYVDQ>
.
|
Yep, that's what we're doing in CT now |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle rotten |
Is there a plan/timeframe in place for this? |
@liggitt can you clarify what, specifically, you're looking for here? |
AFAIK, all the pieces are in place. There's a couple of switches that need to be flipped manually atm to use GA vs beta, but otherwise this is pretty much done |
I couldn't tell whether kubebuilder could generate new v1 CRDs, or regenerate existing APIs as v1 CRDs. If that's mostly done, that's good news. |
yep -- |
IIRC, we don't generate it by default because most folks still support (or supported at the time) kubernetes versions that didn't have v1 yet. |
makes sense. is there a plan to default to v1, once 1.15 is out of support? |
@DirectXMan12 in SDK we solve it by adding a flag in order to allow to keep the backwards compatibility. So, it means that by default the resources are scaffold using the latest version but users still able to use the flag in the commands to choose the old one. Do you think that it would be required here? Also, I think this would be a good one to get done now in the V3. WDYT? c/c @joelanford @estroz |
The SDK needs a flag because it calls controller-gen libraries directly, i.e. you cannot set |
Hi @estroz, IHMO we need to address here:
Then, we will have to address the backwards compatibility scenario: a) if possible, we could doc the steps to manually gen the CRDs and Webhooks in the old version. (I am not sure if it is 100% possible get done just by changing the makefile since the resources are also scaffolded by the tool) OR b) solve it as SDK by creating a flag which allows users to choose if would like to still gen in the old version. |
This is totally something we could do in a new |
v1 CRDs and webhooks generated by default in |
As the OP, I'm not sure this original issue is closed yet. Users may be running a wide range of clusters. From what I gather, 1.14, 1.15, 1.16, 1.17, 1.18 and 1.19 are all moderately widespread at present. How should a KubeBuilder user produce an release that runs on that range of cluster version? |
@erictune given the list of 3 things you wanted out of kubebuilder, the only one that doesn't appear to be resolved is
Is that correct? Was there something else that needs doing? To that effect: you can target the v1.14-v1.19 cluster range if you use v1beta1 CRDs/webhooks: kubebuilder init --plugins go/v3-alpha
kubebuilder create api --crd-version v1beta1 ...
kubebuilder create webhook --webhook-version v1beta1 ... For v1.14 clusters, you need to remove To target v1.16+ clusters, use defaults: kubebuilder init --plugins go/v3-alpha
kubebuilder create api ...
kubebuilder create webhook ... |
Awesome. Can the text of your last comment, starting after I searched but could not find something like it. |
Definitely! I'll whip something up now. |
Facts:
Consequences:
Request for KubeBuilder:
Related issues:
Additional Data about Versions:
/kind feature
The text was updated successfully, but these errors were encountered: