-
Notifications
You must be signed in to change notification settings - Fork 71
v1
CRD API Conversion Tool
#179
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposal looks good to me, thanks for it.
I have just one question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
I left a few suggestions, with a couple of queries
@ppatierno Do you have anything more on this proposal? |
This proposal now has 3 binding +1 votes. It would be great to see more people vote/comment. But unless there are some more comments, I will close the vote on Thursday EOB as approved. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the proposal. I just left some minor comments, but looks good.
It will use Java 17 as with most of the other Strimzi components. | ||
|
||
It will also be bundled in the Strimzi Operator container. | ||
Bundling the tool in the container enables users who cannot (or prefer not to) install the Java Runtime Environment (JRE) to run it as a Kubernetes Job or locally as a Docker container. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is nice. Should we recommend this way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so. A lot depends on what do you convert. Ultimately, running it locally is the easiest way.
- Running it from Docker means you do not need to install Java. But you would need to deal with volumes, networking, etc.
- Running it as Kubernetes Job might be an option if you are not allowed to talk with the Kubernetes server directly, and for example, have to submit things through some GitOps process. But you cannot use it to convert files, and you would need to write some RBAC files depending on what you do etc. You would also need to time the CRD Upgrade job the right way.
- If you use GitOps to manage the Strimzi resources you would need to convert the files which cannot be done as Kubernetes Job easily.
- Etc.
So, having it in the container image should open more options and this was some of the feedback from last time. But I do not think this would be a recommended or non-recommended way. It is more about the thousands of variations between our user environments.
It will have 3 commands: | ||
|
||
* `convert-file` for converting a YAML file. | ||
This option will either convert it into a standard output, a new file, or just update the original file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To keep it simple, we could just convert to the standard output and let the user decide if they want to overwrite the same file or redirect to a new file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is really simple - especially when you copy the whole logic from the previous version. 🤷
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks.
Signed-off-by: Jakub Scholz <[email protected]>
Co-authored-by: PaulRMellor <[email protected]> Signed-off-by: Jakub Scholz <[email protected]>
Signed-off-by: Jakub Scholz <[email protected]>
Signed-off-by: Jakub Scholz <[email protected]>
Signed-off-by: Jakub Scholz <[email protected]>
Signed-off-by: Jakub Scholz <[email protected]>
9357d19
to
384ec5a
Compare
Approved with 3 binding and 1 non-binding +1 vote. |
This proposal covers the Conversion Tool for converting the
v1beta2
API to thev1
API. The tool will be needed by all Strimzi users before upgrading to Strimzi 0.52 / 1.0.0 version, which removes support for thev1beta2
and older APIs. The tool is mostly based on thev1beta2
conversion tool we used back then. And its UX and the required upgrade workflow correspond to it as well.