Skip to content

Update installation docs with ai-gateway installation steps#580

Merged
menakaj merged 1 commit intowso2:mainfrom
menakaj:main
Mar 18, 2026
Merged

Update installation docs with ai-gateway installation steps#580
menakaj merged 1 commit intowso2:mainfrom
menakaj:main

Conversation

@menakaj
Copy link
Copy Markdown
Contributor

@menakaj menakaj commented Mar 18, 2026

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email documentation@wso2.com to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter �N/A� plus brief explanation of why there�s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type �Sent� when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to certification@wso2.com and NOT pasted in this PR. If there is no impact on certification exams, type �N/A� and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

  • Unit tests

    Code coverage information

  • Integration tests

    Details about the test cases and coverage

Security checks

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Summary by CodeRabbit

  • Documentation
    • Added an installation guide for the AI Gateway Extension with configuration variables, helm install commands, bootstrap wait, and verification steps.
    • Included instructions for both managed and self-hosted cluster workflows, inserted as the final deployment step after the Evaluation Extension.
    • Clarified that the extension is optional and depends on Agent Manager and identity provider readiness.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 18, 2026

📝 Walkthrough

Walkthrough

Adds AI Gateway Extension installation sections to both managed and self-hosted cluster installation guides, documenting configuration variables, helm installation commands, bootstrap wait and verification steps, and noting the extension is optional and should run after Agent Manager and IDP readiness.

Changes

Cohort / File(s) Summary
AI Gateway Extension docs
docs/install/managed-cluster.md, docs/install/self-hosted-cluster.md
Inserted new step documenting AI Gateway Extension installation: configuration variables (apiGateway.controlPlane.host, agentManager.apiUrl, agentManager.idp.tokenUrl), helm install commands, bootstrap wait, verification commands (APIGateway CR and bootstrap job), ordering requirement (run last, depends on Agent Manager / IDP health), and optionality note.

Sequence Diagram(s)

sequenceDiagram
    participant Operator
    participant Helm
    participant Kubernetes
    participant AgentManager
    participant IDP
    participant AI_Gateway

    Operator->>Helm: helm install ai-gateway-extension (values)
    Helm->>Kubernetes: create Deployment / Job / CRs
    Kubernetes->>AgentManager: expose APIGateway registration request
    AgentManager->>IDP: validate token / IDP readiness
    IDP-->>AgentManager: token validation OK
    AgentManager-->>Kubernetes: accept registration (status update)
    Kubernetes->>AI_Gateway: bootstrap job runs
    AI_Gateway-->>Kubernetes: create APIGateway CR status
    Kubernetes-->>Operator: kubectl get apigateway / jobs (verification)
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A tiny hop, a gateway springs,
Helm sails in and ready things,
Agent Manager nods in time,
IDP hums the auth chime,
Docs recorded — extension shines!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description consists entirely of the template with placeholder text and no actual content filled in, failing to provide required information about the change. Complete all required sections with specific details: Purpose (what issue/need is addressed), Goals, Approach, User stories, Release note, Documentation links, and other applicable sections based on the AI Gateway installation changes.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and specifically describes the main change: adding AI Gateway installation steps to the installation documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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 and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/install/managed-cluster.md`:
- Line 586: Update the docs to use the correct Helm values key name: replace all
occurrences of apiGateway.controlplane.host with apiGateway.controlPlane.host
(note the capital "P") so the table entry and the helm --set override use the
exact key the chart expects; search for apiGateway.controlplane.host in the file
and update both the table row and the example helm command to
apiGateway.controlPlane.host to ensure Helm applies the override.

In `@docs/install/self-hosted-cluster.md`:
- Line 529: The documentation uses the wrong-cased config key
apiGateway.controlplane.host which doesn't match the Helm values key
apiGateway.controlPlane.host; update all occurrences (table entry and any
example helm --set commands) to use apiGateway.controlPlane.host so Helm
recognizes the override and the intended value is applied.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b0ba0239-ebfe-4c98-bd95-e4960cf84fe3

📥 Commits

Reviewing files that changed from the base of the PR and between 0a09686 and 0ebe212.

📒 Files selected for processing (2)
  • docs/install/managed-cluster.md
  • docs/install/self-hosted-cluster.md

Comment thread docs/install/managed-cluster.md Outdated
Comment thread docs/install/self-hosted-cluster.md Outdated
@menakaj menakaj merged commit 4d19a4d into wso2:main Mar 18, 2026
1 of 2 checks passed
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/install/managed-cluster.md (1)

592-602: Add separate default and customized Helm install examples.

This section currently shows only one customized command with multiple --set overrides. Please add a default install command and keep the customized command as an alternative path (not sequential).

Based on learnings: when showing Helm installation commands with customization options in docs/install/, present two separate examples (default and customized), as alternative commands.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/install/managed-cluster.md` around lines 592 - 602, Add a separate
default Helm install example for the AI Gateway Extension in the "AI Gateway
Extension" block: keep the existing customized command (the helm install
amp-ai-gateway command with multiple --set overrides) but present it as an
alternative (e.g., labeled "Customized install (optional)") and add a new simple
default command above or beside it (e.g., helm install amp-ai-gateway
oci://${HELM_CHART_REGISTRY}/wso2-amp-ai-gateway-extension --version 0.0.0-dev
--namespace ${DATA_PLANE_NS} --timeout 1800s) so readers see both a plain
default install and the existing customized version rather than one sequential
flow.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/install/managed-cluster.md`:
- Line 587: The documented example for the agentManager.apiUrl is missing the
chart's API base path (/api/v1) causing bootstrap calls to wrong endpoints;
update the value for agentManager.apiUrl (both occurrences referenced) to
include the trailing /api/v1 so it matches the chart default and bootstrap
expectations, and ensure any explanatory text or examples reference the full
base path used by the chart.
- Line 588: The listed token endpoint value for agentManager.idp.tokenUrl uses
the wrong service hostname (thunder-service...), so update both occurrences to
the chart-default hostname amp-thunder-extension-service (e.g., change
http://thunder-service.amp-thunder.svc.cluster.local:8090/oauth2/token to
http://amp-thunder-extension-service.amp-thunder.svc.cluster.local:8090/oauth2/token)
so the bootstrap token exchange targets the correct DNS; ensure both spots
referencing agentManager.idp.tokenUrl are updated to the
amp-thunder-extension-service hostname.

---

Nitpick comments:
In `@docs/install/managed-cluster.md`:
- Around line 592-602: Add a separate default Helm install example for the AI
Gateway Extension in the "AI Gateway Extension" block: keep the existing
customized command (the helm install amp-ai-gateway command with multiple --set
overrides) but present it as an alternative (e.g., labeled "Customized install
(optional)") and add a new simple default command above or beside it (e.g., helm
install amp-ai-gateway
oci://${HELM_CHART_REGISTRY}/wso2-amp-ai-gateway-extension --version 0.0.0-dev
--namespace ${DATA_PLANE_NS} --timeout 1800s) so readers see both a plain
default install and the existing customized version rather than one sequential
flow.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b2388c5d-21ef-4f0f-b73d-75bb92429d38

📥 Commits

Reviewing files that changed from the base of the PR and between 0ebe212 and 95b41db.

📒 Files selected for processing (2)
  • docs/install/managed-cluster.md
  • docs/install/self-hosted-cluster.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/install/self-hosted-cluster.md

| Variable | Description | Default |
|----------|-------------|---------|
| `apiGateway.controlPlane.host` | Agent Manager service URL | `amp-api-gateway-manager.wso2-amp.svc.cluster.local:9243` |
| `agentManager.apiUrl` | Agent Manager API URL (reachable from bootstrap job) | `http://amp-api.wso2-amp.svc.cluster.local:9000` |
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.

⚠️ Potential issue | 🟠 Major

Align agentManager.apiUrl with the chart’s API base path.

Line 587 and Line 599 omit /api/v1, while the chart default uses ...:9000/api/v1. If bootstrap logic expects this base path, calls will hit wrong endpoints.

🐛 Proposed fix
-| `agentManager.apiUrl` | Agent Manager API URL (reachable from bootstrap job) | `http://amp-api.wso2-amp.svc.cluster.local:9000` |
+| `agentManager.apiUrl` | Agent Manager API URL (reachable from bootstrap job) | `http://amp-api.wso2-amp.svc.cluster.local:9000/api/v1` |
...
-  --set agentManager.apiUrl="http://amp-api.${AMP_NS}.svc.cluster.local:9000" \
+  --set agentManager.apiUrl="http://amp-api.${AMP_NS}.svc.cluster.local:9000/api/v1" \

Also applies to: 599-599

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/install/managed-cluster.md` at line 587, The documented example for the
agentManager.apiUrl is missing the chart's API base path (/api/v1) causing
bootstrap calls to wrong endpoints; update the value for agentManager.apiUrl
(both occurrences referenced) to include the trailing /api/v1 so it matches the
chart default and bootstrap expectations, and ensure any explanatory text or
examples reference the full base path used by the chart.

|----------|-------------|---------|
| `apiGateway.controlPlane.host` | Agent Manager service URL | `amp-api-gateway-manager.wso2-amp.svc.cluster.local:9243` |
| `agentManager.apiUrl` | Agent Manager API URL (reachable from bootstrap job) | `http://amp-api.wso2-amp.svc.cluster.local:9000` |
| `agentManager.idp.tokenUrl` | Thunder Extension token endpoint | `http://thunder-service.amp-thunder.svc.cluster.local:8090/oauth2/token` |
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.

⚠️ Potential issue | 🟠 Major

Fix Thunder service hostname in agentManager.idp.tokenUrl.

Line 588 and Line 600 use thunder-service..., but the chart default expects amp-thunder-extension-service.... This will point the bootstrap flow to a non-matching service DNS and can break token exchange.

🐛 Proposed fix
-| `agentManager.idp.tokenUrl` | Thunder Extension token endpoint | `http://thunder-service.amp-thunder.svc.cluster.local:8090/oauth2/token` |
+| `agentManager.idp.tokenUrl` | Thunder Extension token endpoint | `http://amp-thunder-extension-service.amp-thunder.svc.cluster.local:8090/oauth2/token` |
...
-  --set agentManager.idp.tokenUrl="http://thunder-service.${THUNDER_NS}.svc.cluster.local:8090/oauth2/token" \
+  --set agentManager.idp.tokenUrl="http://amp-thunder-extension-service.${THUNDER_NS}.svc.cluster.local:8090/oauth2/token" \

Also applies to: 600-600

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/install/managed-cluster.md` at line 588, The listed token endpoint value
for agentManager.idp.tokenUrl uses the wrong service hostname
(thunder-service...), so update both occurrences to the chart-default hostname
amp-thunder-extension-service (e.g., change
http://thunder-service.amp-thunder.svc.cluster.local:8090/oauth2/token to
http://amp-thunder-extension-service.amp-thunder.svc.cluster.local:8090/oauth2/token)
so the bootstrap token exchange targets the correct DNS; ensure both spots
referencing agentManager.idp.tokenUrl are updated to the
amp-thunder-extension-service hostname.

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