[MI-4.6.0] Add changes for MI Release#408
Conversation
WalkthroughUpdated Dockerfiles, entrypoints, and READMEs for Alpine, Rocky, and Ubuntu: base images and Temurin JDK versions bumped, WSO2 product versions advanced (ICP 1.0.0→2.0.0, MI 4.5.0→4.6.0), ICP exposed ports changed to 9445–9449, and ICP entrypoint switched from Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
dockerfiles/rocky/micro-integrator/README.md (1)
18-18:⚠️ Potential issue | 🟡 MinorPre-existing: Incorrect directory path reference.
Line 18 references
dockerfiles/rockylinux/micro-integratorbut the actual directory path isdockerfiles/rocky/micro-integrator. This could confuse users following the instructions.📝 Proposed fix
->The local copy of the `dockerfiles/rockylinux/micro-integrator` directory will be referred to as `MI_DOCKERFILE_HOME` from this point onwards. +>The local copy of the `dockerfiles/rocky/micro-integrator` directory will be referred to as `MI_DOCKERFILE_HOME` from this point onwards.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/rocky/micro-integrator/README.md` at line 18, Update the README text that defines MI_DOCKERFILE_HOME to use the correct directory string: replace the incorrect 'dockerfiles/rockylinux/micro-integrator' with 'dockerfiles/rocky/micro-integrator' so the variable MI_DOCKERFILE_HOME points to the actual directory path referenced elsewhere.
🧹 Nitpick comments (3)
dockerfiles/alpine/micro-integrator/README.md (1)
22-22: Minor: Consider using descriptive link text instead of "here".Using "here" as link text is less accessible for screen readers and doesn't convey the link destination. This is a pre-existing pattern but worth noting for future improvements.
📝 Suggested improvement
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/micro-integrator) +- Download [wso2mi-4.6.0.zip](https://wso2.com/micro-integrator) from the WSO2 website🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/micro-integrator/README.md` at line 22, Replace the non-descriptive link text "here" in the README line "Download wso2mi-4.6.0.zip from [here](https://wso2.com/micro-integrator)" with descriptive link text that conveys the destination (e.g., "WSO2 Micro Integrator downloads page" or "WSO2 Micro Integrator download") so screen readers and users understand the link purpose; simply edit the markdown link label to the descriptive phrase while keeping the existing URL.dockerfiles/rocky/integration-control-plane/README.md (1)
22-22: Use descriptive link text instead of "here".Same accessibility concern as in the Alpine README - the link text "here" is non-descriptive.
Suggested fix
-- Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/micro-integrator) +- Download [wso2-integration-control-plane-2.0.0.zip](https://wso2.com/micro-integrator)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/rocky/integration-control-plane/README.md` at line 22, Replace the non-descriptive link text "here" in the markdown line that references "wso2-integration-control-plane-2.0.0.zip" with a descriptive phrase (e.g., "WSO2 Micro Integrator download page" or "WSO2 Integration Control Plane download") so the link text conveys its destination and purpose; update the markdown link target accordingly while keeping the referenced filename "wso2-integration-control-plane-2.0.0.zip" visible in the sentence.dockerfiles/alpine/integration-control-plane/README.md (1)
23-23: Use descriptive link text instead of "here".The link text "here" is non-descriptive and impacts accessibility. Screen readers and users benefit from meaningful link text that describes the destination.
Suggested fix
-- Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/micro-integrator) +- Download [wso2-integration-control-plane-2.0.0.zip](https://wso2.com/micro-integrator)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/integration-control-plane/README.md` at line 23, Replace the non-descriptive link text "here" in the README line "Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/micro-integrator)" with a meaningful label (e.g., "WSO2 Integration Control Plane download page" or "Download WSO2 Micro Integrator") so the link text describes the destination; update the string in the README.md accordingly where the phrase "Download wso2-integration-control-plane-2.0.0.zip from [here]" appears.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@dockerfiles/alpine/integration-control-plane/docker-entrypoint.sh`:
- Line 30: The shell uses a POSIX /bin/sh shebang but the copy line uses
bash-only [[ ... ]], so replace the bash conditional in the config-volume copy
logic with a POSIX-compatible test using [ ] or test and a non-empty check
(e.g., test -d "$config_volume" && [ "$(ls -A "$config_volume")" ] || [ -n "$(ls
-A "$config_volume")" ] ) before copying into $WSO2_SERVER_HOME; update the
conditional that references config_volume and WSO2_SERVER_HOME to use quoted
variables to avoid word-splitting and ensure compatibility with BusyBox ash.
---
Outside diff comments:
In `@dockerfiles/rocky/micro-integrator/README.md`:
- Line 18: Update the README text that defines MI_DOCKERFILE_HOME to use the
correct directory string: replace the incorrect
'dockerfiles/rockylinux/micro-integrator' with
'dockerfiles/rocky/micro-integrator' so the variable MI_DOCKERFILE_HOME points
to the actual directory path referenced elsewhere.
---
Nitpick comments:
In `@dockerfiles/alpine/integration-control-plane/README.md`:
- Line 23: Replace the non-descriptive link text "here" in the README line
"Download wso2-integration-control-plane-2.0.0.zip from
[here](https://wso2.com/micro-integrator)" with a meaningful label (e.g., "WSO2
Integration Control Plane download page" or "Download WSO2 Micro Integrator") so
the link text describes the destination; update the string in the README.md
accordingly where the phrase "Download wso2-integration-control-plane-2.0.0.zip
from [here]" appears.
In `@dockerfiles/alpine/micro-integrator/README.md`:
- Line 22: Replace the non-descriptive link text "here" in the README line
"Download wso2mi-4.6.0.zip from [here](https://wso2.com/micro-integrator)" with
descriptive link text that conveys the destination (e.g., "WSO2 Micro Integrator
downloads page" or "WSO2 Micro Integrator download") so screen readers and users
understand the link purpose; simply edit the markdown link label to the
descriptive phrase while keeping the existing URL.
In `@dockerfiles/rocky/integration-control-plane/README.md`:
- Line 22: Replace the non-descriptive link text "here" in the markdown line
that references "wso2-integration-control-plane-2.0.0.zip" with a descriptive
phrase (e.g., "WSO2 Micro Integrator download page" or "WSO2 Integration Control
Plane download") so the link text conveys its destination and purpose; update
the markdown link target accordingly while keeping the referenced filename
"wso2-integration-control-plane-2.0.0.zip" visible in the sentence.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 54f6c574-65d0-458e-ad7b-0fc230757597
📒 Files selected for processing (15)
dockerfiles/alpine/integration-control-plane/Dockerfiledockerfiles/alpine/integration-control-plane/README.mddockerfiles/alpine/integration-control-plane/docker-entrypoint.shdockerfiles/alpine/micro-integrator/Dockerfiledockerfiles/alpine/micro-integrator/README.mddockerfiles/rocky/integration-control-plane/Dockerfiledockerfiles/rocky/integration-control-plane/README.mddockerfiles/rocky/integration-control-plane/docker-entrypoint.shdockerfiles/rocky/micro-integrator/Dockerfiledockerfiles/rocky/micro-integrator/README.mddockerfiles/ubuntu/integration-control-plane/Dockerfiledockerfiles/ubuntu/integration-control-plane/README.mddockerfiles/ubuntu/integration-control-plane/docker-entrypoint.shdockerfiles/ubuntu/micro-integrator/Dockerfiledockerfiles/ubuntu/micro-integrator/README.md
| @@ -30,4 +30,4 @@ test ! -d ${WSO2_SERVER_HOME} && echo "WSO2 Docker product home does not exist" | |||
| test -d ${config_volume} && [[ "$(ls -A ${config_volume})" ]] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ | |||
There was a problem hiding this comment.
Pre-existing issue: [[ ]] is not POSIX-compatible with #!/bin/sh.
This file uses #!/bin/sh (line 1), but line 30 uses [[ ... ]] which is a bash-specific construct. On Alpine, /bin/sh is typically BusyBox ash, which does not support [[ ]]. This could cause the config volume copy logic to fail silently or error out.
Consider changing to POSIX-compatible syntax:
🔧 Proposed fix
-test -d ${config_volume} && [[ "$(ls -A ${config_volume})" ]] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/
+test -d ${config_volume} && [ -n "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| test -d ${config_volume} && [[ "$(ls -A ${config_volume})" ]] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ | |
| test -d ${config_volume} && [ -n "$(ls -A ${config_volume})" ] && cp -RL ${config_volume}/* ${WSO2_SERVER_HOME}/ |
🧰 Tools
🪛 Shellcheck (0.11.0)
[warning] 30-30: In POSIX sh, [[ ]] is undefined.
(SC3010)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/alpine/integration-control-plane/docker-entrypoint.sh` at line
30, The shell uses a POSIX /bin/sh shebang but the copy line uses bash-only [[
... ]], so replace the bash conditional in the config-volume copy logic with a
POSIX-compatible test using [ ] or test and a non-empty check (e.g., test -d
"$config_volume" && [ "$(ls -A "$config_volume")" ] || [ -n "$(ls -A
"$config_volume")" ] ) before copying into $WSO2_SERVER_HOME; update the
conditional that references config_volume and WSO2_SERVER_HOME to use quoted
variables to avoid word-splitting and ensure compatibility with BusyBox ash.
f2362db to
1a56747
Compare
There was a problem hiding this comment.
Actionable comments posted: 4
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
dockerfiles/alpine/integration-control-plane/Dockerfile (1)
73-77:⚠️ Potential issue | 🟠 MajorAdd integrity verification for the WSO2 distribution ZIP before unzip.
The artifact downloaded from
WSO2_SERVER_DIST_URLis extracted without checksum verification, creating a supply-chain risk. This pattern is inconsistent with the integrity checks applied to OpenJDK downloads (which use SHA256 verification) and affects all Dockerfile variants (alpine, rocky, ubuntu) for both integration-control-plane and micro-integrator.Proposed hardening diff
ARG WSO2_SERVER_VERSION=2.0.0 ARG WSO2_SERVER_REPOSITORY=micro-integrator ARG WSO2_SERVER=${WSO2_SERVER_NAME}-${WSO2_SERVER_VERSION} ARG WSO2_SERVER_HOME=${USER_HOME}/${WSO2_SERVER} ARG WSO2_SERVER_DIST_URL=<INTEGRATION_CONTROL_PLANE_DIST_URL> +ARG WSO2_SERVER_DIST_SHA256=<INTEGRATION_CONTROL_PLANE_DIST_SHA256> @@ RUN \ wget -O ${WSO2_SERVER}.zip "${WSO2_SERVER_DIST_URL}" \ + && echo "${WSO2_SERVER_DIST_SHA256} *${WSO2_SERVER}.zip" | sha256sum -c - \ && unzip -d ${USER_HOME} ${WSO2_SERVER}.zip \ && rm -f ${WSO2_SERVER}.zip \ && chown wso2carbon:wso2 -R ${WSO2_SERVER_HOME}🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/integration-control-plane/Dockerfile` around lines 73 - 77, The Dockerfile currently downloads and extracts the WSO2 distribution from ARG WSO2_SERVER_DIST_URL into ARG WSO2_SERVER_HOME without verifying integrity; update the image build steps that fetch and unzip the artifact (where WSO2_SERVER_DIST_URL, WSO2_SERVER and WSO2_SERVER_HOME are used) to perform a SHA256 verification: accept an expected checksum via a new build ARG (e.g. WSO2_SERVER_DIST_SHA256) or download a .sha256 file alongside the ZIP, compute the SHA256 of the downloaded file (sha256sum or shasum -a 256) and run a checksum verification (sha256sum -c or compare digests), and abort the build if verification fails before running unzip; apply the same change pattern to the other Dockerfile variants (alpine, rocky, ubuntu) for both integration-control-plane and micro-integrator so all artifacts are integrity-checked.
🧹 Nitpick comments (5)
dockerfiles/ubuntu/micro-integrator/README.md (1)
3-3: Minor grammar and link text improvements.Two optional improvements:
- "Linux based" should be hyphenated as "Linux-based" when used as a compound adjective.
- Line 22: the link text "here" could be more descriptive.
📝 Suggested improvements
-This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Micro Integrator 4.6.0. +This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux-based Docker image for WSO2 Micro Integrator 4.6.0.For line 22:
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/ubuntu/micro-integrator/README.md` at line 3, Update the sentence "This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Micro Integrator 4.6.0." to use the hyphenated compound adjective "Linux-based"; also replace the link text "here" (the link on line 22) with a more descriptive phrase such as "WSO2 Micro Integrator download page" or "WSO2 Micro Integrator 4.6.0 download" while keeping the same URL.dockerfiles/alpine/micro-integrator/Dockerfile (1)
94-95: Consider adding CRLF normalization for consistency.The Ubuntu Dockerfile adds CRLF line ending normalization for
docker-entrypoint.sh(line 101), but this Alpine Dockerfile does not. For consistency and cross-platform robustness, consider adding the same treatment.♻️ Suggested addition
# copy init script to user home COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/ +RUN sed -i 's/\r$//' ${USER_HOME}/docker-entrypoint.sh && chmod +x ${USER_HOME}/docker-entrypoint.sh🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/micro-integrator/Dockerfile` around lines 94 - 95, The Alpine Dockerfile currently copies docker-entrypoint.sh with "COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/" but lacks CRLF normalization added in the Ubuntu Dockerfile; update the Dockerfile to normalize line endings for docker-entrypoint.sh (the same way the Ubuntu Dockerfile does) before or during the COPY step so the file in ${USER_HOME} has normalized LF/CRLF handling for cross-platform consistency, referencing the COPY --chown command and docker-entrypoint.sh to locate where to apply the change.dockerfiles/rocky/micro-integrator/README.md (1)
22-22: Consider using descriptive link text.The link text "here" is not descriptive. For better accessibility and clarity, consider rephrasing to include the destination context.
📝 Suggested improvement
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/rocky/micro-integrator/README.md` at line 22, Replace the non‑descriptive link text "here" in the line "Download wso2mi-4.6.0.zip from here" with descriptive link text that conveys the destination (e.g., "WSO2 Micro Integrator 4.6.0 download" or "WSO2 Micro Integrator 4.6.0 download page"), keeping the existing URL target unchanged so the sentence reads clearly and is accessible.dockerfiles/alpine/micro-integrator/README.md (1)
3-3: Minor grammar and link text improvements.Two optional improvements:
- "Linux based" should be hyphenated as "Linux-based" when used as a compound adjective.
- Line 22: the link text "here" could be more descriptive.
📝 Suggested improvements
-This section defines the step-by-step instructions to build an [Alpine](https://hub.docker.com/_/alpine/) Linux based Docker image for WSO2 Micro Integrator 4.6.0. +This section defines the step-by-step instructions to build an [Alpine](https://hub.docker.com/_/alpine/) Linux-based Docker image for WSO2 Micro Integrator 4.6.0.For line 22:
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/micro-integrator/README.md` at line 3, Update the README sentence "This section defines the step-by-step instructions to build an Alpine Linux based Docker image for WSO2 Micro Integrator 4.6.0." to hyphenate the compound adjective as "Linux-based", and replace the non-descriptive link text "here" (found on the referenced line) with a more meaningful phrase like "Alpine Docker image on Docker Hub" (or similar descriptive text) so the link context is clear.dockerfiles/alpine/integration-control-plane/Dockerfile (1)
20-20: Pin the Alpine base image by digest to make builds reproducible.Using only
alpine:3.23.3is mutable and can change build output over time.Proposed change
-FROM alpine:3.23.3 +FROM alpine:3.23.3@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/integration-control-plane/Dockerfile` at line 20, The Dockerfile's base image is referenced by a mutable tag ("FROM alpine:3.23.3"); replace this with the image digest (e.g., "FROM alpine@sha256:<digest>") to pin the exact image and make builds reproducible—update the FROM line in dockerfiles/alpine/integration-control-plane/Dockerfile accordingly and obtain the correct sha256 digest from the Alpine image registry or by using "docker manifest inspect" / "docker pull --platform" to ensure the digest matches the 3.23.3 variant you intend to pin.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@dockerfiles/rocky/micro-integrator/README.md`:
- Line 60: The README's TARGET_CONFIGS path (/home/wso2carbon/wso2mi-4.6.0/conf)
is inconsistent with the Dockerfile's WSO2_SERVER_VERSION=4.6.0-SNAPSHOT; update
either the README or the Dockerfile so they match: either change the README to
mention /home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf (referencing TARGET_CONFIGS)
or change WSO2_SERVER_VERSION to 4.6.0 in the Rocky Dockerfile so the container
path is /home/wso2carbon/wso2mi-4.6.0/conf; ensure the chosen fix is applied
consistently across README.md and the WSO2_SERVER_VERSION declaration.
In `@dockerfiles/ubuntu/integration-control-plane/README.md`:
- Line 3: Change the compound adjective in the intro sentence by replacing the
open text "Linux based" with the hyphenated form "Linux-based" in the sentence
that begins "This section defines the step-by-step instructions to build an
Ubuntu Linux based Docker image for WSO2 Integration Control Plane 2.0.0." to
produce "This section defines the step-by-step instructions to build an Ubuntu
Linux-based Docker image for WSO2 Integration Control Plane 2.0.0."
In `@dockerfiles/ubuntu/micro-integrator/Dockerfile`:
- Line 80: The ARG WSO2_SERVER_VERSION differs across images (Ubuntu uses
"4.6.0-SNAPSHOT" while Alpine uses "4.6.0"), causing inconsistent install
directories; unify the value of ARG WSO2_SERVER_VERSION across all Dockerfiles
(Ubuntu, Alpine, Rocky) to the same string (pick either "4.6.0" or
"4.6.0-SNAPSHOT"), update any downstream references that build the installation
path (the /home/wso2carbon/wso2mi-4.6.0[-SNAPSHOT]/ pattern) so they use the
chosen version, and update README(s) to reflect the resulting canonical
installation path.
In `@dockerfiles/ubuntu/micro-integrator/README.md`:
- Line 61: The README's <TARGET_CONFIGS> path is incorrect relative to the
Dockerfile's WSO2_SERVER_VERSION; update the README so <TARGET_CONFIGS> points
to /home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf (or change it to reference the
WSO2_SERVER_VERSION variable generically, e.g.
/home/wso2carbon/wso2mi-{WSO2_SERVER_VERSION}/conf) to match the Dockerfile's
WSO2_SERVER_VERSION=4.6.0-SNAPSHOT; apply the same fix to the Rocky README to
keep both docs consistent.
---
Outside diff comments:
In `@dockerfiles/alpine/integration-control-plane/Dockerfile`:
- Around line 73-77: The Dockerfile currently downloads and extracts the WSO2
distribution from ARG WSO2_SERVER_DIST_URL into ARG WSO2_SERVER_HOME without
verifying integrity; update the image build steps that fetch and unzip the
artifact (where WSO2_SERVER_DIST_URL, WSO2_SERVER and WSO2_SERVER_HOME are used)
to perform a SHA256 verification: accept an expected checksum via a new build
ARG (e.g. WSO2_SERVER_DIST_SHA256) or download a .sha256 file alongside the ZIP,
compute the SHA256 of the downloaded file (sha256sum or shasum -a 256) and run a
checksum verification (sha256sum -c or compare digests), and abort the build if
verification fails before running unzip; apply the same change pattern to the
other Dockerfile variants (alpine, rocky, ubuntu) for both
integration-control-plane and micro-integrator so all artifacts are
integrity-checked.
---
Nitpick comments:
In `@dockerfiles/alpine/integration-control-plane/Dockerfile`:
- Line 20: The Dockerfile's base image is referenced by a mutable tag ("FROM
alpine:3.23.3"); replace this with the image digest (e.g., "FROM
alpine@sha256:<digest>") to pin the exact image and make builds
reproducible—update the FROM line in
dockerfiles/alpine/integration-control-plane/Dockerfile accordingly and obtain
the correct sha256 digest from the Alpine image registry or by using "docker
manifest inspect" / "docker pull --platform" to ensure the digest matches the
3.23.3 variant you intend to pin.
In `@dockerfiles/alpine/micro-integrator/Dockerfile`:
- Around line 94-95: The Alpine Dockerfile currently copies docker-entrypoint.sh
with "COPY --chown=wso2carbon:wso2 docker-entrypoint.sh ${USER_HOME}/" but lacks
CRLF normalization added in the Ubuntu Dockerfile; update the Dockerfile to
normalize line endings for docker-entrypoint.sh (the same way the Ubuntu
Dockerfile does) before or during the COPY step so the file in ${USER_HOME} has
normalized LF/CRLF handling for cross-platform consistency, referencing the COPY
--chown command and docker-entrypoint.sh to locate where to apply the change.
In `@dockerfiles/alpine/micro-integrator/README.md`:
- Line 3: Update the README sentence "This section defines the step-by-step
instructions to build an Alpine Linux based Docker image for WSO2 Micro
Integrator 4.6.0." to hyphenate the compound adjective as "Linux-based", and
replace the non-descriptive link text "here" (found on the referenced line) with
a more meaningful phrase like "Alpine Docker image on Docker Hub" (or similar
descriptive text) so the link context is clear.
In `@dockerfiles/rocky/micro-integrator/README.md`:
- Line 22: Replace the non‑descriptive link text "here" in the line "Download
wso2mi-4.6.0.zip from here" with descriptive link text that conveys the
destination (e.g., "WSO2 Micro Integrator 4.6.0 download" or "WSO2 Micro
Integrator 4.6.0 download page"), keeping the existing URL target unchanged so
the sentence reads clearly and is accessible.
In `@dockerfiles/ubuntu/micro-integrator/README.md`:
- Line 3: Update the sentence "This section defines the step-by-step
instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based
Docker image for WSO2 Micro Integrator 4.6.0." to use the hyphenated compound
adjective "Linux-based"; also replace the link text "here" (the link on line 22)
with a more descriptive phrase such as "WSO2 Micro Integrator download page" or
"WSO2 Micro Integrator 4.6.0 download" while keeping the same URL.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 221d1851-6929-4f4c-be59-d4d5fc1770fb
📒 Files selected for processing (15)
dockerfiles/alpine/integration-control-plane/Dockerfiledockerfiles/alpine/integration-control-plane/README.mddockerfiles/alpine/integration-control-plane/docker-entrypoint.shdockerfiles/alpine/micro-integrator/Dockerfiledockerfiles/alpine/micro-integrator/README.mddockerfiles/rocky/integration-control-plane/Dockerfiledockerfiles/rocky/integration-control-plane/README.mddockerfiles/rocky/integration-control-plane/docker-entrypoint.shdockerfiles/rocky/micro-integrator/Dockerfiledockerfiles/rocky/micro-integrator/README.mddockerfiles/ubuntu/integration-control-plane/Dockerfiledockerfiles/ubuntu/integration-control-plane/README.mddockerfiles/ubuntu/integration-control-plane/docker-entrypoint.shdockerfiles/ubuntu/micro-integrator/Dockerfiledockerfiles/ubuntu/micro-integrator/README.md
✅ Files skipped from review due to trivial changes (4)
- dockerfiles/rocky/integration-control-plane/docker-entrypoint.sh
- dockerfiles/ubuntu/integration-control-plane/docker-entrypoint.sh
- dockerfiles/rocky/integration-control-plane/README.md
- dockerfiles/alpine/integration-control-plane/README.md
🚧 Files skipped from review as they are similar to previous changes (4)
- dockerfiles/alpine/integration-control-plane/docker-entrypoint.sh
- dockerfiles/ubuntu/integration-control-plane/Dockerfile
- dockerfiles/rocky/integration-control-plane/Dockerfile
- dockerfiles/rocky/micro-integrator/Dockerfile
| ``` | ||
|
|
||
| > In here, <TARGET_CONFIGS> refers to /home/wso2carbon/wso2mi-4.5.0/conf folder of the container. | ||
| > In here, <TARGET_CONFIGS> refers to /home/wso2carbon/wso2mi-4.6.0/conf folder of the container. |
There was a problem hiding this comment.
Documentation path mismatch with Dockerfile.
The README references /home/wso2carbon/wso2mi-4.6.0/conf, but the Rocky Dockerfile at line 78 uses WSO2_SERVER_VERSION=4.6.0-SNAPSHOT, which means the actual container path would be /home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf.
Either update the README to reflect the -SNAPSHOT suffix, or change the Dockerfile version to 4.6.0 (without -SNAPSHOT) for GA release alignment.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/rocky/micro-integrator/README.md` at line 60, The README's
TARGET_CONFIGS path (/home/wso2carbon/wso2mi-4.6.0/conf) is inconsistent with
the Dockerfile's WSO2_SERVER_VERSION=4.6.0-SNAPSHOT; update either the README or
the Dockerfile so they match: either change the README to mention
/home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf (referencing TARGET_CONFIGS) or
change WSO2_SERVER_VERSION to 4.6.0 in the Rocky Dockerfile so the container
path is /home/wso2carbon/wso2mi-4.6.0/conf; ensure the chosen fix is applied
consistently across README.md and the WSO2_SERVER_VERSION declaration.
| # Dockerfile for WSO2 Integration Control Plane | ||
|
|
||
| This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Integration Control Plane 1.0.0. | ||
| This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Integration Control Plane 2.0.0. |
There was a problem hiding this comment.
Use hyphenated compound adjective in the intro sentence.
Line 3 should use “Linux-based” instead of “Linux based”.
✏️ Suggested doc fix
-This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Integration Control Plane 2.0.0.
+This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux-based Docker image for WSO2 Integration Control Plane 2.0.0.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Integration Control Plane 2.0.0. | |
| This section defines the step-by-step instructions to build an [Ubuntu](https://hub.docker.com/_/ubuntu/) Linux-based Docker image for WSO2 Integration Control Plane 2.0.0. |
🧰 Tools
🪛 LanguageTool
[grammar] ~3-~3: Use a hyphen to join words.
Context: ...(https://hub.docker.com/_/ubuntu/) Linux based Docker image for WSO2 Integration ...
(QB_NEW_EN_HYPHEN)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/ubuntu/integration-control-plane/README.md` at line 3, Change the
compound adjective in the intro sentence by replacing the open text "Linux
based" with the hyphenated form "Linux-based" in the sentence that begins "This
section defines the step-by-step instructions to build an Ubuntu Linux based
Docker image for WSO2 Integration Control Plane 2.0.0." to produce "This section
defines the step-by-step instructions to build an Ubuntu Linux-based Docker
image for WSO2 Integration Control Plane 2.0.0."
| ``` | ||
|
|
||
| > In here, <TARGET_CONFIGS> refers to /home/wso2carbon/wso2mi-4.5.0/conf folder of the container. | ||
| > In here, <TARGET_CONFIGS> refers to /home/wso2carbon/wso2mi-4.6.0/conf folder of the container. |
There was a problem hiding this comment.
Documentation path mismatch with Dockerfile.
The README references /home/wso2carbon/wso2mi-4.6.0/conf, but the Ubuntu Dockerfile uses WSO2_SERVER_VERSION=4.6.0-SNAPSHOT, meaning the actual container path would be /home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf.
This is the same inconsistency noted in the Rocky README.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/ubuntu/micro-integrator/README.md` at line 61, The README's
<TARGET_CONFIGS> path is incorrect relative to the Dockerfile's
WSO2_SERVER_VERSION; update the README so <TARGET_CONFIGS> points to
/home/wso2carbon/wso2mi-4.6.0-SNAPSHOT/conf (or change it to reference the
WSO2_SERVER_VERSION variable generically, e.g.
/home/wso2carbon/wso2mi-{WSO2_SERVER_VERSION}/conf) to match the Dockerfile's
WSO2_SERVER_VERSION=4.6.0-SNAPSHOT; apply the same fix to the Rocky README to
keep both docs consistent.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (4)
dockerfiles/ubuntu/integration-control-plane/README.md (1)
22-22: Consider using descriptive link text instead of "here".The link text "here" is non-descriptive. Using descriptive link text improves accessibility and helps users understand where the link leads without relying on surrounding context.
✏️ Suggested improvement
-- Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp) +- Download [wso2-integration-control-plane-2.0.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=icp) from the WSO2 downloads page.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/ubuntu/integration-control-plane/README.md` at line 22, Replace the non-descriptive link text "here" with descriptive link text that conveys the destination (e.g., "WSO2 Integration Control Plane download page" or "WSO2 Integrator ICP download") in the README line that currently says "Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)"; keep the same URL but update the link label for better accessibility and clarity.dockerfiles/alpine/micro-integrator/README.md (1)
22-22: Consider using more descriptive link text.Same issue as the Rocky README - the link text "here" is non-descriptive.
📝 Suggested improvement
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/micro-integrator/README.md` at line 22, Replace the non-descriptive link text "here" in the README sentence "Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi)" with a descriptive phrase (e.g., "WSO2 Micro Integrator 4.6.0 download page" or "WSO2 Integrator downloads") so the markdown link clearly conveys its destination; update the link label in the README line accordingly to improve accessibility and clarity.dockerfiles/ubuntu/micro-integrator/README.md (1)
22-22: Consider using more descriptive link text.Same issue as the other README files - the link text "here" is non-descriptive.
📝 Suggested improvement
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/ubuntu/micro-integrator/README.md` at line 22, Replace the non-descriptive link text "here" in dockerfiles/ubuntu/micro-integrator/README.md with a descriptive phrase (e.g., "WSO2 Micro Integrator 4.6.0 download page" or "download WSO2 Micro Integrator 4.6.0") so the link conveys its destination and improves accessibility and clarity; update the markdown line that currently reads 'Download wso2mi-4.6.0.zip from [here](...)' to use the chosen descriptive text while keeping the same URL.dockerfiles/rocky/micro-integrator/README.md (1)
22-22: Consider using more descriptive link text.Static analysis flagged the link text "here" as non-descriptive. More descriptive link text improves accessibility and SEO.
📝 Suggested improvement
-- Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) +- Download [wso2mi-4.6.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=mi) from the WSO2 downloads page.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/rocky/micro-integrator/README.md` at line 22, Replace the non-descriptive link text "here" with a descriptive phrase in the README entry (the Markdown line containing "Download wso2mi-4.6.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi)"); update the link text to something meaningful such as "WSO2 Micro Integrator 4.6.0 download page" or "download WSO2 Micro Integrator 4.6.0" so the anchor conveys the destination and improves accessibility/SEO.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@dockerfiles/rocky/micro-integrator/Dockerfile`:
- Line 50: Remove the trailing whitespace after the line-continuation backslash
in the Dockerfile: locate the line containing the sequence ";; \" (the shell
case/continuation line) and delete any spaces/tabs after the backslash so the
backslash is the final character on the line; ensure the line-ending contains
only the backslash for a proper shell continuation to avoid Docker build issues.
In `@dockerfiles/ubuntu/integration-control-plane/Dockerfile`:
- Line 52: Remove the trailing whitespace after the continuation backslash in
the Dockerfile token sequence ";; \" so the backslash is the very last character
on the line (i.e., change ";; \ " to ";;\" with the backslash immediately
followed by a newline); locate the line containing ";; \" and delete the space
after the backslash to avoid shell parsing issues.
---
Nitpick comments:
In `@dockerfiles/alpine/micro-integrator/README.md`:
- Line 22: Replace the non-descriptive link text "here" in the README sentence
"Download wso2mi-4.6.0.zip from
[here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi)"
with a descriptive phrase (e.g., "WSO2 Micro Integrator 4.6.0 download page" or
"WSO2 Integrator downloads") so the markdown link clearly conveys its
destination; update the link label in the README line accordingly to improve
accessibility and clarity.
In `@dockerfiles/rocky/micro-integrator/README.md`:
- Line 22: Replace the non-descriptive link text "here" with a descriptive
phrase in the README entry (the Markdown line containing "Download
wso2mi-4.6.0.zip from
[here](https://wso2.com/products/downloads/?product=wso2integrator&package=mi)");
update the link text to something meaningful such as "WSO2 Micro Integrator
4.6.0 download page" or "download WSO2 Micro Integrator 4.6.0" so the anchor
conveys the destination and improves accessibility/SEO.
In `@dockerfiles/ubuntu/integration-control-plane/README.md`:
- Line 22: Replace the non-descriptive link text "here" with descriptive link
text that conveys the destination (e.g., "WSO2 Integration Control Plane
download page" or "WSO2 Integrator ICP download") in the README line that
currently says "Download wso2-integration-control-plane-2.0.0.zip from
[here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)";
keep the same URL but update the link label for better accessibility and
clarity.
In `@dockerfiles/ubuntu/micro-integrator/README.md`:
- Line 22: Replace the non-descriptive link text "here" in
dockerfiles/ubuntu/micro-integrator/README.md with a descriptive phrase (e.g.,
"WSO2 Micro Integrator 4.6.0 download page" or "download WSO2 Micro Integrator
4.6.0") so the link conveys its destination and improves accessibility and
clarity; update the markdown line that currently reads 'Download
wso2mi-4.6.0.zip from [here](...)' to use the chosen descriptive text while
keeping the same URL.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3f0a3737-2145-4673-847b-0bcf21c57c9b
📒 Files selected for processing (15)
dockerfiles/alpine/integration-control-plane/Dockerfiledockerfiles/alpine/integration-control-plane/README.mddockerfiles/alpine/integration-control-plane/docker-entrypoint.shdockerfiles/alpine/micro-integrator/Dockerfiledockerfiles/alpine/micro-integrator/README.mddockerfiles/rocky/integration-control-plane/Dockerfiledockerfiles/rocky/integration-control-plane/README.mddockerfiles/rocky/integration-control-plane/docker-entrypoint.shdockerfiles/rocky/micro-integrator/Dockerfiledockerfiles/rocky/micro-integrator/README.mddockerfiles/ubuntu/integration-control-plane/Dockerfiledockerfiles/ubuntu/integration-control-plane/README.mddockerfiles/ubuntu/integration-control-plane/docker-entrypoint.shdockerfiles/ubuntu/micro-integrator/Dockerfiledockerfiles/ubuntu/micro-integrator/README.md
✅ Files skipped from review due to trivial changes (4)
- dockerfiles/ubuntu/integration-control-plane/docker-entrypoint.sh
- dockerfiles/rocky/integration-control-plane/docker-entrypoint.sh
- dockerfiles/rocky/integration-control-plane/README.md
- dockerfiles/alpine/integration-control-plane/README.md
🚧 Files skipped from review as they are similar to previous changes (3)
- dockerfiles/alpine/integration-control-plane/docker-entrypoint.sh
- dockerfiles/ubuntu/micro-integrator/Dockerfile
- dockerfiles/rocky/integration-control-plane/Dockerfile
| ;; \ | ||
| ESUM='987387933b64b9833846dee373b640440d3e1fd48a04804ec01a6dbf718e8ab8'; \ | ||
| BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.2%2B10/OpenJDK25U-jdk_x64_linux_hotspot_25.0.2_10.tar.gz'; \ | ||
| ;; \ |
There was a problem hiding this comment.
Trailing whitespace after backslash may cause build issues.
Line 50 appears to have trailing whitespace after \. This can cause the line continuation to fail in shell scripts, potentially breaking the Docker build.
🔧 Proposed fix
- ;; \
+ ;; \📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ;; \ | |
| ;; \ |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/rocky/micro-integrator/Dockerfile` at line 50, Remove the
trailing whitespace after the line-continuation backslash in the Dockerfile:
locate the line containing the sequence ";; \" (the shell case/continuation
line) and delete any spaces/tabs after the backslash so the backslash is the
final character on the line; ensure the line-ending contains only the backslash
for a proper shell continuation to avoid Docker build issues.
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
dockerfiles/rocky/integration-control-plane/README.md (1)
22-22: Consider using descriptive link text instead of "here".Same as the Alpine README - the static analysis tool flagged non-descriptive link text. Consider making the filename itself the link text.
✏️ Suggested fix
-- Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp) +- Download [wso2-integration-control-plane-2.0.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/rocky/integration-control-plane/README.md` at line 22, The README uses non-descriptive link text "here"; update the link in README.md so the anchor text is the filename (e.g., "wso2-integration-control-plane-2.0.0.zip") instead of "here" to make the link self-descriptive and satisfy static analysis; locate the line containing the download instruction in dockerfiles/rocky/integration-control-plane/README.md and replace the anchor text while keeping the same URL.dockerfiles/alpine/integration-control-plane/README.md (1)
23-23: Consider using descriptive link text instead of "here".The static analysis tool flagged the use of "here" as link text. Descriptive link text improves accessibility and SEO. Consider rephrasing to include the product name in the link.
✏️ Suggested fix
-- Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp) +- Download [wso2-integration-control-plane-2.0.0.zip](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@dockerfiles/alpine/integration-control-plane/README.md` at line 23, Replace the vague link text "here" with descriptive text that includes the product name (e.g., "WSO2 Integration Control Plane 2.0.0 download" or "wso2-integration-control-plane-2.0.0.zip") so the link reads like "Download WSO2 Integration Control Plane 2.0.0 from WSO2 Integration Control Plane 2.0.0 download" (or similar); update the markdown link target in the README line that currently contains "Download wso2-integration-control-plane-2.0.0.zip from [here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)" to use the descriptive anchor text while keeping the existing URL.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@dockerfiles/alpine/micro-integrator/Dockerfile`:
- Around line 62-63: The Dockerfile LABEL sets com.wso2.docker.source to a
non-existent release URL; update or remove that label so it doesn't point to a
dead tag. Locate the LABEL block containing maintainer and
com.wso2.docker.source and either change com.wso2.docker.source to a valid
existing release/tag URL (or a repository URL that will exist), or remove the
com.wso2.docker.source entry entirely (or defer the version bump) before
publishing.
- Around line 29-57: The Dockerfile pins Temurin JDK 25 (ENV
JAVA_VERSION=jdk-25.0.2+10 and the OpenJDK25U... BINARY_URL/ESUM blocks) which
is incompatible with the shipped MI version; change the image to Temurin 21 by
setting ENV JAVA_VERSION to the appropriate jdk-21 value and replace the JDK25
download URLs and checksum variables (BINARY_URL and ESUM referencing
OpenJDK25U-jdk_...) with the corresponding Temurin 21 Alpine binary URL and
checksum for each ARCH (amd64 and aarch64/arm64) so the Dockerfile downloads and
verifies JDK 21 instead of JDK 25; ensure tar extraction and cleanup logic in
the same RUN block remain unchanged.
---
Nitpick comments:
In `@dockerfiles/alpine/integration-control-plane/README.md`:
- Line 23: Replace the vague link text "here" with descriptive text that
includes the product name (e.g., "WSO2 Integration Control Plane 2.0.0 download"
or "wso2-integration-control-plane-2.0.0.zip") so the link reads like "Download
WSO2 Integration Control Plane 2.0.0 from WSO2 Integration Control Plane 2.0.0
download" (or similar); update the markdown link target in the README line that
currently contains "Download wso2-integration-control-plane-2.0.0.zip from
[here](https://wso2.com/products/downloads/?product=wso2integrator&package=icp)"
to use the descriptive anchor text while keeping the existing URL.
In `@dockerfiles/rocky/integration-control-plane/README.md`:
- Line 22: The README uses non-descriptive link text "here"; update the link in
README.md so the anchor text is the filename (e.g.,
"wso2-integration-control-plane-2.0.0.zip") instead of "here" to make the link
self-descriptive and satisfy static analysis; locate the line containing the
download instruction in dockerfiles/rocky/integration-control-plane/README.md
and replace the anchor text while keeping the same URL.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 0a157a86-930b-4029-a19a-134c81632ab8
📒 Files selected for processing (15)
dockerfiles/alpine/integration-control-plane/Dockerfiledockerfiles/alpine/integration-control-plane/README.mddockerfiles/alpine/integration-control-plane/docker-entrypoint.shdockerfiles/alpine/micro-integrator/Dockerfiledockerfiles/alpine/micro-integrator/README.mddockerfiles/rocky/integration-control-plane/Dockerfiledockerfiles/rocky/integration-control-plane/README.mddockerfiles/rocky/integration-control-plane/docker-entrypoint.shdockerfiles/rocky/micro-integrator/Dockerfiledockerfiles/rocky/micro-integrator/README.mddockerfiles/ubuntu/integration-control-plane/Dockerfiledockerfiles/ubuntu/integration-control-plane/README.mddockerfiles/ubuntu/integration-control-plane/docker-entrypoint.shdockerfiles/ubuntu/micro-integrator/Dockerfiledockerfiles/ubuntu/micro-integrator/README.md
✅ Files skipped from review due to trivial changes (4)
- dockerfiles/alpine/integration-control-plane/docker-entrypoint.sh
- dockerfiles/rocky/integration-control-plane/docker-entrypoint.sh
- dockerfiles/ubuntu/integration-control-plane/docker-entrypoint.sh
- dockerfiles/ubuntu/integration-control-plane/Dockerfile
🚧 Files skipped from review as they are similar to previous changes (2)
- dockerfiles/ubuntu/micro-integrator/Dockerfile
- dockerfiles/rocky/integration-control-plane/Dockerfile
| ENV JAVA_VERSION=jdk-25.0.2+10 | ||
|
|
||
| # install Temurin OpenJDK 21 | ||
| # install Temurin OpenJDK 25 | ||
| RUN set -eux; \ | ||
| ARCH="$(apk --print-arch)"; \ | ||
| case "${ARCH}" in \ | ||
| amd64|x86_64) \ | ||
| ESUM='6c66470a9143ad562570a34c1583d9fa50bf904f6f9ced642e9d800ce043a0f3'; \ | ||
| BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_x64_alpine-linux_hotspot_21.0.6_7.tar.gz'; \ | ||
| ESUM='961f13ba0ee1e18c41c50ab642361e4283dee5e7947a48ed6a72c8a661d0cca0'; \ | ||
| BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.2%2B10/OpenJDK25U-jdk_x64_alpine-linux_hotspot_25.0.2_10.tar.gz'; \ | ||
| ;; \ | ||
| aarch64|arm64) \ | ||
| ESUM='2798990401d9c47eaeddb7d5148f577770e4c1013b9223290a43765463204ae4'; \ | ||
| BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.6%2B7/OpenJDK21U-jdk_aarch64_alpine-linux_hotspot_21.0.6_7.tar.gz'; \ | ||
| ESUM='e8d928fb018eabb31a148ebadaa5a5ec69273e6562afede21c426960a6a67143'; \ | ||
| BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.2%2B10/OpenJDK25U-jdk_aarch64_alpine-linux_hotspot_25.0.2_10.tar.gz'; \ | ||
| ;; \ | ||
| *) \ | ||
| echo "Unsupported arch: ${ARCH}"; \ | ||
| exit 1; \ | ||
| ;; \ | ||
| esac; \ | ||
| wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ | ||
| echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ | ||
| mkdir -p /opt/java/openjdk; \ | ||
| tar --extract \ | ||
| --file /tmp/openjdk.tar.gz \ | ||
| --directory /opt/java/openjdk \ | ||
| --strip-components 1 \ | ||
| --no-same-owner \ | ||
| ; \ | ||
| wget -O /tmp/openjdk.tar.gz ${BINARY_URL}; \ | ||
| echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ | ||
| mkdir -p /opt/java/openjdk; \ | ||
| tar --extract \ | ||
| --file /tmp/openjdk.tar.gz \ | ||
| --directory /opt/java/openjdk \ | ||
| --strip-components 1 \ | ||
| --no-same-owner \ | ||
| ; \ | ||
| rm -rf /tmp/openjdk.tar.gz; |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, let's check what Dockerfiles are in the alpine/micro-integrator directory
find dockerfiles/alpine/micro-integrator -type f -name "Dockerfile*"Repository: wso2/docker-ei
Length of output: 104
🏁 Script executed:
# Also check the rocky directory to see if there's a related file
find dockerfiles/rocky/micro-integrator -type f -name "Dockerfile*"Repository: wso2/docker-ei
Length of output: 103
🏁 Script executed:
# Check if there are other Dockerfiles in the PR that might have Java version changes
git ls-files dockerfiles/ | grep -i dockerfileRepository: wso2/docker-ei
Length of output: 1032
🌐 Web query:
WSO2 Micro Integrator 4.6.0 Java 25 support compatibility
💡 Result:
WSO2 Micro Integrator 4.6.0 does not officially support Java 25. Version 4.6.0 is currently in early pre-release stage (4.6.0-m1 milestone released 2026-02-06 and 4.6.0-alpha on 2026-02-17), with no official release notes or compatibility matrix available yet. No sources mention Java 25 support for this version. For context, stable releases support lower Java versions: - 4.4.0 (Feb 2025): Requires JDK 21 (official GitHub release notes). - 4.3.0: Requires JDK 17. Older compatibility docs list JDK 8/11 for prior versions, but these are outdated.
Citations:
- 1: https://github.com/wso2/product-micro-integrator/releases
- 2: https://central.sonatype.com/artifact/org.wso2.ei/org.wso2.micro.integrator.server.feature
- 3: https://central.sonatype.com/artifact/org.wso2.ei/wso2-micro-integrator-parent
- 4: https://central.sonatype.com/artifact/org.wso2.ei/org.wso2.micro.integrator.initializer.feature
- 5: https://tellestia.com/blog/wso2-micro-integrator-4-4-updates/
- 6: https://wso2docs.atlassian.net/wiki/spaces/compatibility/pages/20578307/Tested+Operating+Systems+and+JDKs
🌐 Web query:
WSO2 Micro Integrator 4.6.0 prerequisites supported Java versions
💡 Result:
WSO2 Micro Integrator 4.6.0 supports Temurin JDK 21 and Temurin JDK 25, verified on RHEL 9 and RHEL 10.
Citations:
🏁 Script executed:
# Check the Alpine micro-integrator Dockerfile
head -60 dockerfiles/alpine/micro-integrator/Dockerfile | cat -nRepository: wso2/docker-ei
Length of output: 2785
🏁 Script executed:
# Check the Rocky micro-integrator Dockerfile
head -60 dockerfiles/rocky/micro-integrator/Dockerfile | cat -nRepository: wso2/docker-ei
Length of output: 3188
🌐 Web query:
GitHub wso2 product-micro-integrator issue 4678 Java 25 support
💡 Result:
GitHub issue #4678 in wso2/product-micro-integrator is titled "Verify OS, JDK, and DBMS compatibility for MI 4.6.0". It was opened on 2026-02-23 and plans to test WSO2 Micro Integrator (MI) 4.6.0 against various operating systems including Windows, Ubuntu, Red Hat Enterprise Linux, Rocky Linux, MacOS, and SUSE Linux. The issue does not specify JDK versions to be tested or mention Java 25. No sources confirm Java 25 support for WSO2 MI. The latest stable release, MI 4.4.0 (February 2025), requires JDK 21. Earlier versions require JDK 17 or lower. MI 4.6.0 appears to be in early development (m1 milestone seen in Maven artifacts from February 2026), with no released distributions or compatibility details available as of 2026-03-20. Java 25 support is not currently available in any WSO2 MI version.
Citations:
- 1: Verify OS, JDK, and DBMS compatibility for MI 4.6.0 product-micro-integrator#4678
- 2: https://github.com/wso2/product-micro-integrator/releases
- 3: https://central.sonatype.com/artifact/org.wso2.ei/wso2-micro-integrator-parent
- 4: https://central.sonatype.com/artifact/org.wso2.ei/org.wso2.micro.integrator.server.feature
🌐 Web query:
WSO2 Micro Integrator 4.6.0 official release Java 25 compatibility statement
💡 Result:
No official release of WSO2 Micro Integrator 4.6.0 has been found as of 2026-03-20. The latest stable release is 4.4.0, which requires JDK 21. A 4.6.0-M1 milestone exists with "JDK 25 Support" announced, and a GitHub issue confirms testing of Temurin JDK 25 on RHEL 9/10 for MI 4.6.0 compatibility verification. Official documentation or release notes for full 4.6.0 Java 25 compatibility are not yet available; compatibility appears to be in development/testing phase.
Citations:
- 1: Verify OS, JDK, and DBMS compatibility for MI 4.6.0 product-micro-integrator#4678
- 2: https://github.com/wso2/product-micro-integrator/releases
- 3: https://github.com/wso2/micro-integrator/releases/
- 4: https://central.sonatype.com/artifact/org.wso2.ei/wso2-micro-integrator-parent
Do not ship MI 4.6.0 with Temurin 25—neither has official support combined.
MI 4.6.0 is not an official release (only a 4.6.0-M1 milestone exists as of March 2026), and Java 25 support for this version is unconfirmed and currently in the testing/verification phase (GitHub issue #4678). The latest stable release, MI 4.4.0, requires JDK 21.
Shipping an unreleased MI version paired with an unconfirmed Java runtime combination creates unquantified compatibility risk. Keep these Dockerfiles on Temurin 21 and land the Java 25 upgrade only after MI 4.6.0 is officially released with documented Java 25 support.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/alpine/micro-integrator/Dockerfile` around lines 29 - 57, The
Dockerfile pins Temurin JDK 25 (ENV JAVA_VERSION=jdk-25.0.2+10 and the
OpenJDK25U... BINARY_URL/ESUM blocks) which is incompatible with the shipped MI
version; change the image to Temurin 21 by setting ENV JAVA_VERSION to the
appropriate jdk-21 value and replace the JDK25 download URLs and checksum
variables (BINARY_URL and ESUM referencing OpenJDK25U-jdk_...) with the
corresponding Temurin 21 Alpine binary URL and checksum for each ARCH (amd64 and
aarch64/arm64) so the Dockerfile downloads and verifies JDK 21 instead of JDK
25; ensure tar extraction and cleanup logic in the same RUN block remain
unchanged.
| LABEL maintainer="WSO2 Docker Maintainers <dev@wso2.org>" \ | ||
| com.wso2.docker.source="https://github.com/wso2/docker-ei/releases/tag/v4.5.0.0" | ||
| com.wso2.docker.source="https://github.com/wso2/docker-ei/releases/tag/v4.6.0.0" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
find . -name "Dockerfile" -path "*/alpine/micro-integrator/*" | head -20Repository: wso2/docker-ei
Length of output: 106
🏁 Script executed:
cat -n dockerfiles/alpine/micro-integrator/Dockerfile | sed -n '60,65p'Repository: wso2/docker-ei
Length of output: 322
🌐 Web query:
site:github.com/wso2/docker-ei releases v4.6.0.0
💡 Result:
The query "releases v4.6.0.0" refers to UHD (USRP Hardware Driver) version 4.6.0.0 from Ettus Research / NI. Release date: November 14, 2024 (tag created around then, based on GitHub activity). Key highlights: - Phase repeatability, dual rate support, and lower sampling rates for the NI Ettus USRP X440. - macOS support: Monterey (12.6). Changelog includes: - CI improvements (build farm for Windows, deprecated ruamel.yaml fixes). - CMake fixes for make_x410 and make_x440 targets. - Debian copyright updates. - Documentation updates. - Various other fixes across components. Full release page: https://github.com/EttusResearch/uhd/releases/tag/v4.6.0.0 Assets available: 7 files (binaries for different platforms). This matches the exact version string v4.6.0.0, unlike other projects which use v4.6.0 without the patch zero.
Citations:
- 1: https://github.com/EttusResearch/uhd/releases
- 2: https://github.com/EttusResearch/uhd/blob/master/CHANGELOG
🌐 Web query:
wso2 docker-ei github releases
💡 Result:
The official GitHub repository for WSO2 docker-ei is https://github.com/wso2/docker-ei, which provides Docker and Docker Compose resources for WSO2 Enterprise Integrator (now primarily WSO2 Integration/Micro Integrator profiles). Releases page: https://github.com/wso2/docker-ei/releases (75 releases total, latest announced for WSO2 Integrator: MI 4.4.0). Recent tags include: - v6.6.0.7 (May 16, 2024): Upgrade kubernetes membership schema jar and update release tag versions. - v6.6.0.6 (Mar 18, 2024): Remove MySQL JDBC connector from docker images. - v7.0.0.6 (Jan 31, 2024): Update ubuntu docker files. - 4.2.x-alpine-upgrade-3.19.0 (Jan 3, 2024). - 4.0.0.5 (Dec 15, 2023). CHANGELOG: https://github.com/wso2/docker-ei/blob/master/CHANGELOG.md (tracks changes for 4.5.x and prior). Dockerfiles support Alpine, Ubuntu, CentOS for profiles like Micro Integrator 4.2.0, Streaming Integrator, etc. Build instructions in repo README and per-profile Dockerfiles (e.g., https://github.com/wso2/docker-ei/tree/master/dockerfiles/alpine/micro-integrator). No newer releases post-May 2024 evident as of 2026-03-20.
Citations:
- 1: https://github.com/wso2/docker-ei/releases
- 2: https://github.com/wso2/docker-ei/blob/master/CHANGELOG.md
- 3: https://github.com/wso2/docker-ei/tags
- 4: https://github.com/wso2/docker-ei
- 5: https://github.com/wso2/docker-ei/commits/master/dockerfiles/alpine
- 6: https://github.com/wso2/docker-ei/tree/master/dockerfiles/alpine/micro-integrator
🌐 Web query:
github.com/wso2/docker-ei/releases/tag/v4.6.0.0
💡 Result:
The specific GitHub release page https://github.com/wso2/docker-ei/releases/tag/v4.6.0.0 does not exist. No evidence of a release or tag named v4.6.0.0 was found in the wso2/docker-ei repository. The repository provides Dockerfiles and Docker Compose resources for building Docker images of WSO2 Enterprise Integrator (now evolved to WSO2 Integration, including Micro Integrator profiles like v4.2.x). Tags exist for versions such as v4.2.0.6, v4.1.0.6, v4.0.0.6, but none match v4.6.0.0 exactly. The highest v4.x tags are around v4.2.0.x (latest from Jan 2024). Older branches like 6.4.x exist for EI 6.4. WSO2 Enterprise Integrator (EI) has been succeeded by Micro Integrator (MI), with MI 4.2.0 being a recent version (2023-2024). Docker images are built from source using provided Dockerfiles rather than pre-built releases for many versions. Official pre-built images on Docker Hub (e.g., wso2/wso2ei-integrator) go up to 6.6.0 (about 6 years old). To use Docker for WSO2 Integration: - Clone https://github.com/wso2/docker-ei - Check out relevant branch/tag (e.g., v4.2.0.6) - Build using provided instructions in README.md
Citations:
- 1: https://github.com/wso2/docker-ei/tags
- 2: https://github.com/wso2/docker-ei
- 3: https://github.com/wso2/docker-ei/commits/master/dockerfiles/alpine
Don't publish a dead com.wso2.docker.source label.
The value on line 63 points to https://github.com/wso2/docker-ei/releases/tag/v4.6.0.0, which does not exist. The v4.6.0.0 release tag is not present in the wso2/docker-ei repository. Either create the release before publishing or defer this label bump.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@dockerfiles/alpine/micro-integrator/Dockerfile` around lines 62 - 63, The
Dockerfile LABEL sets com.wso2.docker.source to a non-existent release URL;
update or remove that label so it doesn't point to a dead tag. Locate the LABEL
block containing maintainer and com.wso2.docker.source and either change
com.wso2.docker.source to a valid existing release/tag URL (or a repository URL
that will exist), or remove the com.wso2.docker.source entry entirely (or defer
the version bump) before publishing.
Purpose
Products
Summary by CodeRabbit
Chores
Documentation