-
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
[EPIC] CRD Generator v2 #6616
Comments
Hi @baloo42, |
Ok, let's focus on stabilizing 7.0.0 from now on. My planned contributions can wait until the merge window for the next release is open. In my opinion we should at least discuss the following potential candidates of breaking changes: Mark spec always as requiredThis change was initially discussed in terms of introducing new interfaces e.g. If the introduction/change of those interfaces must be postponed we should talk at least of hardcoding this into the CRD-Generator. Marking the spec always as required can be easily implemented if hardcoded, it just needs some work on fixing most of the tests. Can you provide an update on the plans regarding the CustomResource class? If we introduce this, it would be definitly a breaking change. Change of value type in
|
In general, v2 should be a seamless transition from v1, users should be able to switch from one to the other without incurring in many changes. If this has not been done yet, v1 should be released as deprecated (for removal) in v7.0.0. This will allow for users to move to the new generator version gradually and fallback in case bugs are found in the new implementation. Eventually we will remove v1 in a subsequent v7 minor/ Now let me go point by point:
So, all things considered, I think that the only remaining point is to analyze if #3096 can be covered or not and merging #6447. Once that is dealt with, we can proceed with the release. Is this correct, or did I miss something? |
Sorry, I was not aware that you want to avoid any breaking change at all. I thought it's acceptable to introduce some breaking changes to cleanup things. I'm fine with all your comments. Thanks for clarification. Will work now on #6447 to polish the current state. |
Not any at all, but just the few inevitable to allow for the new features. Maybe this is not exactly what was discussed in the past. At some point in v6 we introduced the new CRD generator in preview. Some users migrated to the new one, but the v1 CRD generator wasn't deprecated yet. Since we're deprecating it in v7, we need to allow for an easy transition for users. IMO it will be better if v2 is just a drop-in replacement (almost) that requires users to only change their project configuration. My expectation is that our release cadence improves in the future and is more predictable, so anyway, introducing any breakages shouldn't involve such a long process. |
Description
Original discussion: #5942
As part of the new v7.0.0 release we need to make the CRD Generator (especially its API) as complete as possible to avoid any breaking changes in future v7 minor version releases.
Tasks
Find a way to allow for
@NonNull
@Required
to work on the method level and allow user to extend thegetSpec
method and customize it.format
in@PrinterColumn
to enum #6455The text was updated successfully, but these errors were encountered: