Hi everyone, After a few weeks of discussing and experimenting with Tiago Bento, we reached a point where we are comfortable sharing that the experiment of permanently having `kogito-images` and `kogito-serverless-operator` inside `kie-tools` has received positive feedback from the people who usually develop these modules. This new proposal targets `main` (I.e., Apache KIE 10.1 and beyond), so Apache KIE 10.0 is unaffected.
To be clear, this proposal invalidates the previous agreement we had on “Unblocking and releasing Apache KIE 10” [1], of removing `sonataflow-devmode-image`, `sonataflow-builder-image`, and `sonataflow-operator` from `kie-tools` once Apache KIE 10.0 is released. (See this PR https://github.com/apache/incubator-kie-tools/pull/2472.) The infrastructure `kie-tools` provides is suitable for continuing to develop and release Kogito Images and the SonataFlow Operator. The CI system and PR checks in place worked well and with reasonable performance, and there were no big disruptions for local development and further maintenance. This proposal includes: - Permanently move each image from `kogito-images` and the content of `kogito-serverless-operator` as individual packages on `kie-tools`, preserving commit history (essentially the same move we did for Apache KIE 10, but now for all images) - Write and publish a “KIE Tools User Manual” as a markdown file on `kie-tools` itself - Adapting release scripts for publishing the “new” images from `kie-tools` instead of from `kogito-images`. - Permanently archive `kogito-images` and `kogito-serverless-operator`, removing them from all Jenkins and GitHub Actions automations All Kogito Images and the SonataFlow Operator will then depend on the timestamped SNAPSHOT version of upstream projects (automatically published every Sunday night or on demand) and will be in sync at all times with the rest of the `kie-tools` repository, meaning the SonataFlow Quarkus Dev UI, Serverless Logic Web Tools as a whole, and the SonataFlow Knative Plugin (CLI). By creating a package for each “new” Kogito Image, all PR checks and the CI will work, requiring zero changes to the existing automations. We believe this improves our codebase structure and, more importantly, our release automations, with minimal disruption to those contributing to those packages. Since some of the `sonataflow-builder-image`, the `sonataflow-devmode-image`, and the `sonataflow-operator` packages were already moved to the `main` branch of `kie-tools` as a temporary solution for unblocking and releasing Apache KIE 10, if this proposal is approved, we’d need to override the existing packages, bringing with commit history and in a permanent fashion. The execution plan of this proposal is as follows: 1. Push the finalized version of a “KIE Tools User Guide” as a markdown file hosted on `kie-tools` itself 2. Push new packages for each “new” Kogito Image override the existing `sonataflow-builder-image`, `sonataflow-devmode-image`, and `sonataflow-operator`, with commit history 3. Adapt existing packages on `kie-tools` to depend on and consume the new ones 4. Change release scripts on `kie-tools` to publish the “new” images from it 5. Remove `kogito-images` and `kogito-serverless-operator` from GitHub Actions and Jenkins automations 6. Archive `kogito-images` and `kogito-serverless-operator` on GitHub, changing their README to communicate the change 7. Update documentation references to reflect the change on repo URLs etc Lastly, if this proposal is approved, further optimizations will be done to ensure the code is more robust, PR checks are faster and consume less resources: 1. Stop building kogito-apps modules during Kogito Images build (pull from Maven instead, based on the the timestamped SNAPSHOT version) 2. Convert the SonataFlow Knative Plugin (CLI) from a package to a module inside the SonataFlow Operator package 3. Reduce the size of serverless-logic-web-tools-swf-dev-mode-image (currently at 1.68GB on Docker Hub) 4. Parameterize Quarkus version on Kogito Images, SonataFlow Operator and Knative Plugin (CLI) based on the `kie-tools`’s Quarkus version Please let me know, Regards, [1] https://lists.apache.org/thread/58xm7pqdyztf7qztmhvntf8wdmvfx7jx -- Ricardo Zanini Fernandes Vida longa e próspera.