Skip to content

Conversation

scholzj
Copy link
Member

@scholzj scholzj commented Sep 24, 2025

This proposal covers the Conversion Tool for converting the v1beta2 API to the v1 API. The tool will be needed by all Strimzi users before upgrading to Strimzi 0.52 / 1.0.0 version, which removes support for the v1beta2 and older APIs. The tool is mostly based on the v1beta2 conversion tool we used back then. And its UX and the required upgrade workflow correspond to it as well.

Copy link
Member

@im-konge im-konge left a 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.

Copy link
Contributor

@PaulRMellor PaulRMellor left a 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

@scholzj
Copy link
Member Author

scholzj commented Sep 29, 2025

@ppatierno Do you have anything more on this proposal?

@scholzj
Copy link
Member Author

scholzj commented Sep 30, 2025

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.

Copy link
Contributor

@fvaleri fvaleri left a 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.
Copy link
Contributor

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?

Copy link
Member Author

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.
Copy link
Contributor

@fvaleri fvaleri Oct 1, 2025

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.

Copy link
Member Author

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. 🤷

Copy link
Contributor

@fvaleri fvaleri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks.

scholzj and others added 6 commits October 5, 2025 18:17
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]>
@scholzj scholzj force-pushed the 117-v1-CRD-API-Conversion-Tool branch from 9357d19 to 384ec5a Compare October 5, 2025 16:18
@scholzj
Copy link
Member Author

scholzj commented Oct 5, 2025

Approved with 3 binding and 1 non-binding +1 vote.

@scholzj scholzj merged commit 6eed300 into strimzi:main Oct 5, 2025
1 check passed
@scholzj scholzj deleted the 117-v1-CRD-API-Conversion-Tool branch October 5, 2025 16:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants