Skip to content

Config interpolation doc changes#356

Merged
Krishanx92 merged 3 commits into
wso2:mainfrom
thivindu:ai-workspace-dp-cp
Jul 23, 2026
Merged

Config interpolation doc changes#356
Krishanx92 merged 3 commits into
wso2:mainfrom
thivindu:ai-workspace-dp-cp

Conversation

@thivindu

Copy link
Copy Markdown
Contributor

This pull request introduces significant updates to the API Gateway documentation, focusing on clarifying configuration practices, enforcing secure deployment defaults, and updating environment variable handling. The changes emphasize that environment variables no longer override config.toml directly—explicit interpolation tokens are now required. The documentation also details mandatory at-rest encryption key provisioning for Kubernetes and Docker deployments, and introduces a new reference page on configuration and environment interpolation.

Related to - wso2/api-platform#2600

Configuration and Environment Variable Handling:

  • Added a comprehensive reference page (configuration.md) explaining how configuration is loaded, the use of interpolation tokens in config.toml, and the deprecation of direct APIP_GW_* environment variable overrides. The page also documents the required one-time setup process for keys and certificates.
  • Updated all relevant docs to clarify that enabling features (like immutable mode) via environment variables now requires explicit interpolation tokens in config.toml, and provided examples for adding these tokens. [1] [2] [3] [4]
  • Updated deployment instructions and Dockerfiles to remove legacy environment variable usage for immutable mode, instead instructing users to bake the setting into config.toml. [1] [2]

Security and Encryption Key Provisioning:

  • Documented the mandatory, fail-closed requirement for an AES-256 encryption key in Kubernetes and Docker Compose deployments. Added explicit instructions for pre-creating the key Secret and updated Helm install commands to enable and reference the encryption key. [1] [2] [3] [4] [5]
  • Updated quick-start guides to instruct users to run the setup.sh script, which provisions the encryption key, TLS certificates, and environment file before starting the stack. [1] [2]

Bottom-up API Deployment Troubleshooting:

  • Updated troubleshooting steps to use the correct environment variable names (matching the new interpolation token approach) and referenced the new configuration documentation for clarity. [1] [2] [3]

These changes ensure that users follow secure, explicit, and up-to-date configuration practices when deploying the API Gateway.

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

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

Next review available in: 45 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: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5c0f9098-7b15-438b-b251-fe968b20edc2

📥 Commits

Reviewing files that changed from the base of the PR and between 266ad7f and 7021044.

📒 Files selected for processing (4)
  • en/docs/ai-gateway/next/llm-proxy/quick-start-guide.md
  • en/docs/ai-gateway/next/mcp-proxy/quick-start-guide.md
  • en/docs/api-gateway/next/quick-start-guide.md
  • en/docs/next/ai-workspace/ai-gateways/setting-up.md
📝 Walkthrough

Walkthrough

The documentation updates standardize explicit TOML interpolation and setup.sh provisioning, replace development-mode guidance with mandatory AES-256 encryption configuration, and update Docker Compose and Kubernetes deployment instructions. They also correct controller troubleshooting variables, revise AI Gateway quick starts for gateway v1.2+, update AI Workspace examples and secret placeholders, and add navigation entries for configuration and artifact synchronization pages.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers the overall purpose, but it omits most required template sections such as Checklist, Goals, Approach, and testing details. Add the missing template sections and complete the checklist, goals, approach, release note, documentation, security checks, and test environment details.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise and matches the main theme of the PR: configuration interpolation documentation changes.
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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

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

Inline comments:
In `@en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md`:
- Around line 54-65: The Kubernetes deployment example must use a config.toml
containing the immutable_gateway environment interpolation tokens, rather than
setting APIP_GW_IMMUTABLE_GATEWAY_ENABLED alone. Update the Kubernetes section
to mount or otherwise supply a tokenized config.toml with enabled and
artifacts_dir mapped to the corresponding environment variables, while
preserving the existing deployment workflow.

In `@en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md`:
- Around line 194-200: Ensure every runnable Kubernetes deployment example wires
mandatory encryption settings: in
en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md lines
194-200 and
en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/gateway-operator.md
lines 266-273, add a concrete per-Gateway Helm-values ConfigMap and annotation
(or equivalent) configuring encryptionKeys.enabled and secretName; in
en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/kubernetes-standalone.md
lines 110-114, explicitly require custom-values.yaml to define those same
encryption settings.

In
`@en/docs/ai-gateway/next/deployment-modes/kubernetes/kubernetes-standalone.md`:
- Around line 61-71: Update the Kubernetes standalone deployment instructions
around “Create the Encryption Key Secret” so the target namespace is created
before the kubectl secret command runs. Include the namespace creation step in
this section or move the existing api-gateway namespace creation from the later
installation flow ahead of it, while preserving the documented -n namespace
usage.

In `@en/docs/next/ai-workspace/bottom-up-ai-artifact-deployment-guide.md`:
- Around line 241-251: Update the artifact-location documentation table so all
image references remain inside valid Markdown table structure instead of
appearing between rows; keep the affected rows contiguous and associate each
image through valid table-cell or explicit HTML/figure markup, including the
corresponding section around the additional referenced lines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: f4e09428-3128-4b58-8324-7ced10181ca8

📥 Commits

Reviewing files that changed from the base of the PR and between 2355eac and a917b12.

⛔ Files ignored due to path filters (7)
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-provider-access-control.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-provider-template-token-mapping.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-proxy-deployment.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-provider-template.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-provider.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-proxy.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-mcp-proxy.png is excluded by !**/*.png
📒 Files selected for processing (20)
  • en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md
  • en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/ai-gateway/next/deployment-modes/kubernetes/kubernetes-standalone.md
  • en/docs/ai-gateway/next/llm-proxy/quick-start-guide.md
  • en/docs/ai-gateway/next/mcp-proxy/quick-start-guide.md
  • en/docs/ai-gateway/next/setup/configuration.md
  • en/docs/api-gateway/next/deployment/deploying-apis/bottom-up-api-deployment.md
  • en/docs/api-gateway/next/deployment/deployment-modes/immutable-gateway.md
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/kubernetes-standalone.md
  • en/docs/api-gateway/next/deployment/high-availability-production-deployment.md
  • en/docs/api-gateway/next/deployment/production-deployment/security-hardening.md
  • en/docs/api-gateway/next/quick-start-guide.md
  • en/docs/api-gateway/next/setup/configuration.md
  • en/docs/next/ai-workspace/ai-gateways/setting-up.md
  • en/docs/next/ai-workspace/authentication/asgardeo-setup.md
  • en/docs/next/ai-workspace/bottom-up-ai-artifact-deployment-guide.md
  • en/docs/next/ai-workspace/configuration.md
  • en/docs/next/ai-workspace/insights.md
  • en/mkdocs.yml

Comment thread en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md
Comment thread en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md Outdated
Comment thread en/docs/next/ai-workspace/bottom-up-ai-artifact-deployment-guide.md Outdated
@thivindu
thivindu force-pushed the ai-workspace-dp-cp branch from a917b12 to 8e1af9a Compare July 23, 2026 03:47

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (1)
en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md (1)

53-65: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Keep deployment examples consistent with tokenized configuration.

Lines [55]-[65] correctly state that direct environment variables are ignored without interpolation tokens, but later Dockerfile and Kubernetes examples still set APIP_GW_IMMUTABLE_GATEWAY_ENABLED directly. Update those examples to provide the tokenized config.toml; otherwise immutable mode will not be enabled.

🤖 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 `@en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md` around lines
53 - 65, Update the Dockerfile and Kubernetes deployment examples in
immutable-gateway.md to include a tokenized config.toml for [immutable_gateway],
including the APIP_GW_IMMUTABLE_GATEWAY_ENABLED interpolation token. Remove or
revise direct environment-variable-only configuration so both examples actually
enable immutable mode through config interpolation.
🤖 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.

Inline comments:
In `@en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md`:
- Around line 58-61: Update the immutable_gateway enabled configuration example
so environment interpolation preserves TOML boolean typing: use unquoted env
interpolation if config.toml supports it, or explicitly document the loader’s
string-to-boolean coercion. Keep artifacts_dir quoted because it remains a path
string.

In
`@en/docs/ai-gateway/next/deployment-modes/kubernetes/kubernetes-standalone.md`:
- Around line 66-69: Update the Kubernetes secret creation command sequence so
the temporary key file is removed only after kubectl create secret generic
gateway-encryption-keys succeeds. Chain rm to the successful command while
preserving cleanup after successful Secret creation.

In `@en/docs/api-gateway/next/deployment/deployment-modes/immutable-gateway.md`:
- Around line 57-63: Resolve the MD046 warning for the nested TOML fence in the
immutable gateway documentation by configuring the markdownlint rule for this
supported admonition pattern or restructuring the fenced block while preserving
the admonition’s rendered output and TOML syntax highlighting.

---

Duplicate comments:
In `@en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md`:
- Around line 53-65: Update the Dockerfile and Kubernetes deployment examples in
immutable-gateway.md to include a tokenized config.toml for [immutable_gateway],
including the APIP_GW_IMMUTABLE_GATEWAY_ENABLED interpolation token. Remove or
revise direct environment-variable-only configuration so both examples actually
enable immutable mode through config interpolation.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 261e0066-00dd-4d1f-aa4e-4aaea4aeae22

📥 Commits

Reviewing files that changed from the base of the PR and between a917b12 and 8e1af9a.

⛔ Files ignored due to path filters (7)
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-provider-access-control.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-provider-template-token-mapping.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-origin-llm-proxy-deployment.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-provider-template.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-provider.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-llm-proxy.png is excluded by !**/*.png
  • en/docs/assets/img/ai-workspace/bottom-up/dp-to-cp-mcp-proxy.png is excluded by !**/*.png
📒 Files selected for processing (19)
  • en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md
  • en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/ai-gateway/next/deployment-modes/kubernetes/kubernetes-standalone.md
  • en/docs/ai-gateway/next/llm-proxy/quick-start-guide.md
  • en/docs/ai-gateway/next/mcp-proxy/quick-start-guide.md
  • en/docs/ai-gateway/next/setup/configuration.md
  • en/docs/api-gateway/next/deployment/deploying-apis/bottom-up-api-deployment.md
  • en/docs/api-gateway/next/deployment/deployment-modes/immutable-gateway.md
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/kubernetes-standalone.md
  • en/docs/api-gateway/next/deployment/high-availability-production-deployment.md
  • en/docs/api-gateway/next/deployment/production-deployment/security-hardening.md
  • en/docs/api-gateway/next/quick-start-guide.md
  • en/docs/api-gateway/next/setup/configuration.md
  • en/docs/next/ai-workspace/ai-gateways/setting-up.md
  • en/docs/next/ai-workspace/authentication/asgardeo-setup.md
  • en/docs/next/ai-workspace/bottom-up-ai-artifact-deployment-guide.md
  • en/docs/next/ai-workspace/insights.md
  • en/mkdocs.yml
🚧 Files skipped from review as they are similar to previous changes (14)
  • en/docs/next/ai-workspace/insights.md
  • en/docs/ai-gateway/next/mcp-proxy/quick-start-guide.md
  • en/docs/api-gateway/next/deployment/high-availability-production-deployment.md
  • en/docs/api-gateway/next/deployment/production-deployment/security-hardening.md
  • en/docs/api-gateway/next/quick-start-guide.md
  • en/mkdocs.yml
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/kubernetes-standalone.md
  • en/docs/ai-gateway/next/llm-proxy/quick-start-guide.md
  • en/docs/next/ai-workspace/authentication/asgardeo-setup.md
  • en/docs/next/ai-workspace/bottom-up-ai-artifact-deployment-guide.md
  • en/docs/ai-gateway/next/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/api-gateway/next/deployment/deployment-modes/kubernetes/gateway-operator.md
  • en/docs/next/ai-workspace/ai-gateways/setting-up.md
  • en/docs/api-gateway/next/deployment/deploying-apis/bottom-up-api-deployment.md

Comment thread en/docs/ai-gateway/next/deployment-modes/immutable-gateway.md
Comment thread en/docs/ai-gateway/next/deployment-modes/kubernetes/kubernetes-standalone.md Outdated
@Krishanx92
Krishanx92 merged commit 70b9f37 into wso2:main Jul 23, 2026
2 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.

2 participants