Skip to content

[APIP] Update helm charts#2723

Merged
DDH13 merged 6 commits into
wso2:mainfrom
DDH13:main.helm-1.2
Jul 17, 2026
Merged

[APIP] Update helm charts#2723
DDH13 merged 6 commits into
wso2:mainfrom
DDH13:main.helm-1.2

Conversation

@DDH13

@DDH13 DDH13 commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Related to #2732

@coderabbitai

coderabbitai Bot commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@DDH13, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 150b88a0-eaab-4f68-ae0f-1329c26387cb

📥 Commits

Reviewing files that changed from the base of the PR and between ee82ce8 and d2d1111.

📒 Files selected for processing (4)
  • kubernetes/helm/gateway-helm-chart/Chart.yaml
  • kubernetes/helm/gateway-helm-chart/README.md
  • kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml
  • kubernetes/helm/gateway-helm-chart/values.yaml
📝 Walkthrough

Walkthrough

Changes

The Gateway Helm chart adds controller, router, policy-engine, and application configuration values with corresponding template output. Chart metadata advances to 1.2.0-alpha, and the README documents API key and subscription options.

Gateway Helm configuration

Layer / File(s) Summary
Controller and router configuration
kubernetes/helm/gateway-helm-chart/values.yaml, kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml
Adds admin server, event hub, vhosts, access logging, Lua transformation, policy paths, LLM templates, and metrics configuration.
Policy engine and application configuration
kubernetes/helm/gateway-helm-chart/values.yaml, kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml
Adds profiling, metrics, Python executor, subscriptions, API key, MCP, and immutable gateway configuration.
Release metadata and configuration documentation
kubernetes/helm/gateway-helm-chart/Chart.yaml, kubernetes/helm/gateway-helm-chart/README.md
Updates chart and application versions to 1.2.0-alpha and documents API key and subscription options.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: pubudu538, malinthaprasan, chamilaadhi

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description only links an issue and misses the required Purpose, Goals, Approach, tests, security, and other template sections. Fill in the template sections with the problem, solution, implementation details, tests, security checks, docs, related PRs, and test environment.
Title check ❓ Inconclusive The title is related to the Helm chart update, but it's too generic to convey the main change. Rename it to mention the key change, e.g. 'Add gateway admin, event hub, and API key config to Helm charts'.
✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DDH13
DDH13 marked this pull request as ready for review July 17, 2026 07:18
@DDH13
DDH13 requested a review from Induwara04 as a code owner July 17, 2026 07:18

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (3)
kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml (2)

191-197: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win

Prevent potential rendering panic when request_transformation is omitted.

If router.lua is overridden and contains other settings but omits request_transformation, evaluating $router.lua.request_transformation.script_path will cause a Helm nil-pointer panic. Wrapping the block in a check for request_transformation ensures safe rendering.

♻️ Proposed refactor
     {{- if $router.lua }}
+    {{- if $router.lua.request_transformation }}
     [router.lua.request_transformation]
     {{- if $router.lua.request_transformation.script_path }}
     script_path = {{ $router.lua.request_transformation.script_path | quote }}
     {{- end }}
     {{- end }}
+    {{- end }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml`
around lines 191 - 197, Guard the request-transformation block in the router.lua
configuration template by checking that $router.lua.request_transformation
exists before accessing its script_path field. Preserve the existing script_path
output when request_transformation is present, while allowing rendering when
router.lua contains other settings without it.

433-437: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Prevent invalid TOML if enable_validation is omitted.

Since the subscriptions block is commented out in values.yaml, it does not have a default structure to merge against. If a user defines subscriptions: {} in their custom values without explicitly setting enable_validation, the template will render enable_validation = <no value>, resulting in invalid TOML syntax. Adding a default fallback ensures the generated configuration is always valid.

♻️ Proposed refactor
     {{- if .Values.gateway.config.subscriptions }}
     [subscriptions]
-    enable_validation = {{ .Values.gateway.config.subscriptions.enable_validation }}
+    enable_validation = {{ .Values.gateway.config.subscriptions.enable_validation | default false }}
     {{- end }}
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml`
around lines 433 - 437, Update the subscriptions block in the gateway
configuration template to apply a boolean default when
.Values.gateway.config.subscriptions.enable_validation is omitted. Preserve
explicitly provided values while ensuring subscriptions: {} renders valid TOML
rather than an empty value.
kubernetes/helm/gateway-helm-chart/values.yaml (1)

309-327: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Include missing field in text_format.

The json_fields mapping includes %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% as upSvcT, but this field is omitted from the text_format template. Consider adding it to text_format for consistency between log formats.

♻️ Proposed refactor
         # Text format template - used when format is "text"
         # Uses Envoy command operators: https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage
         text_format: |
-          [%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %REQ(:PATH)% %UPSTREAM_PROTOCOL% %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %REQUEST_TX_DURATION% %RESPONSE_TX_DURATION% %REQUEST_DURATION% %RESPONSE_DURATION% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"
+          [%START_TIME%] "%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%" %REQ(:PATH)% %UPSTREAM_PROTOCOL% %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS% %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% %REQUEST_TX_DURATION% %RESPONSE_TX_DURATION% %REQUEST_DURATION% %RESPONSE_DURATION% "%REQ(X-FORWARDED-FOR)%" "%REQ(USER-AGENT)%" "%REQ(X-REQUEST-ID)%" "%REQ(:AUTHORITY)%" "%UPSTREAM_HOST%"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@kubernetes/helm/gateway-helm-chart/values.yaml` around lines 309 - 327, The
text_format template is missing the upstream service time field represented by
upSvcT. Update text_format to include %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%
alongside the existing upstream timing fields, preserving the current template
structure.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml`:
- Around line 191-197: Guard the request-transformation block in the router.lua
configuration template by checking that $router.lua.request_transformation
exists before accessing its script_path field. Preserve the existing script_path
output when request_transformation is present, while allowing rendering when
router.lua contains other settings without it.
- Around line 433-437: Update the subscriptions block in the gateway
configuration template to apply a boolean default when
.Values.gateway.config.subscriptions.enable_validation is omitted. Preserve
explicitly provided values while ensuring subscriptions: {} renders valid TOML
rather than an empty value.

In `@kubernetes/helm/gateway-helm-chart/values.yaml`:
- Around line 309-327: The text_format template is missing the upstream service
time field represented by upSvcT. Update text_format to include
%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% alongside the existing upstream timing
fields, preserving the current template structure.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b78da0df-6a18-4974-85a9-4e75c537cd97

📥 Commits

Reviewing files that changed from the base of the PR and between 4245325 and ee82ce8.

📒 Files selected for processing (4)
  • kubernetes/helm/gateway-helm-chart/Chart.yaml
  • kubernetes/helm/gateway-helm-chart/README.md
  • kubernetes/helm/gateway-helm-chart/templates/gateway/gateway-config.yaml
  • kubernetes/helm/gateway-helm-chart/values.yaml

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jul 17, 2026
…ntroller and runtime image tags to 1.2.0-alpha2 in values.yaml
@DDH13
DDH13 merged commit db88a9d into wso2:main Jul 17, 2026
8 of 11 checks passed
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.

3 participants