Add AWS Bedrock LLM provider guide - #401
Conversation
📝 WalkthroughWalkthroughThe PR adds AWS Bedrock provider configuration guidance, updates LLM provider templates to API v1, and reorganizes AI Gateway documentation navigation. The guide covers bearer API keys, AWS SigV4 authentication, IAM options, deployment, verification, troubleshooting, and security. ChangesAI Gateway documentation
Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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: 10
🤖 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/llm-proxy/configure-aws-bedrock-provider.md`:
- Around line 47-53: Precede the authentication methods table in the Bedrock
provider configuration documentation with a brief introductory sentence
directing readers to use the table to choose an authentication method.
- Line 2: Update the title and all headings in configure-aws-bedrock-provider.md
to use sentence case: lowercase words such as “Provider” in the title, change
“Before You Begin” to “Before you begin,” apply the same treatment to every
remaining heading, and capitalize only the first word after colons.
- Line 296: Update the irsa guidance in the Bedrock provider documentation to
remove the difficulty modifier “simplest option,” replacing it with a direct
description of when to use this mode, such as when the gateway workload already
has the required IAM role. Preserve the existing EKS, OIDC, service account, and
webhook requirements.
- Around line 104-105: Add blank lines immediately after every {% raw %} tag and
immediately before every {% endraw %} tag surrounding fenced code blocks in the
document, including the referenced additional locations, so the markdownlint
MD031 violations are resolved.
- Around line 2-3: Expand LLM in the page title to “Large Language Model” and
define EC2, ECS, EKS, IRSA, STS, OIDC, and ARN at their first occurrences in the
authentication table and later sections. Preserve the existing acronym usage
consistently after each initial definition, including the referenced
authentication and configuration sections.
- Around line 268-274: Add the missing POST /secrets command for creating
bedrock-session-token in the temporary AWS credentials setup before the
awsSessionToken YAML parameter, keeping the existing bedrock-access-key-id and
bedrock-secret-access-key creation flow unchanged.
- Line 23: Update the regional guidance in the Bedrock endpoint documentation to
avoid applying the same-Region requirement to inference profiles. Limit the
existing rule to base models, or distinguish base models from inference profiles
and document that profiles may route across destination Regions while SigV4
region matches the endpoint; explain source and destination Regions separately
for profiles.
- Around line 403-422: Remove the -k option from the Bedrock curl example. Keep
the request configured to use certificate validation, and direct users to a
trusted CA or --cacert for local self-signed certificates; place any insecure
local-development workaround in a separate local-development section if needed.
- Around line 219-230: Update the SigV4 deployment here-document in the AWS
Bedrock provider example to use an expanding delimiter so `${AWS_REGION}` is
substituted in the upstream URL and region configuration. Preserve the existing
YAML content and deployment command.
In `@en/docs/ai-gateway/next/README.md`:
- Line 52: Use “AWS Bedrock” consistently in both affected documentation
entries: update en/docs/ai-gateway/next/README.md lines 52-52 and
en/docs/ai-gateway/next/overview.md lines 52-52 by replacing “Amazon Bedrock” in
the prose while preserving the existing link and authentication details.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 392c440b-0acd-4e20-b15c-73b20ba96066
📒 Files selected for processing (4)
en/docs/ai-gateway/next/README.mden/docs/ai-gateway/next/llm-proxy/configure-aws-bedrock-provider.mden/docs/ai-gateway/next/overview.mden/mkdocs.yml
There was a problem hiding this comment.
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/llm-proxy/configure-aws-bedrock-provider.md`:
- Line 448: Update the TLS command’s --cacert example in the AWS Bedrock
provider documentation to define the certificate path in a shell variable and
pass that variable as a quoted argument, avoiding angle-bracket placeholder
syntax that shells interpret as redirection.
- Line 384: Update the scoped AWS Bedrock policy guidance near the production
Resource instruction to require both each inference profile ARN and the
corresponding foundation-model ARN in every relevant Region. Preserve the
existing wildcard replacement guidance and link, while explicitly noting that
both destinations must be authorized.
In `@en/docs/ai-gateway/next/llm-proxy/llm-templates.md`:
- Line 480: Insert a brief introductory sentence between the “Template Field
Reference” heading and its field reference table, explicitly explaining that the
table is used to configure an LlmProviderTemplate resource.
In `@en/mkdocs.yml`:
- Line 833: Update the navigation label in the mkdocs configuration to use
“Configure an AWS Bedrock LLM Provider,” matching the README and overview link
text while keeping the existing guide path unchanged.
🪄 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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: 7bac6451-178e-49e8-9c04-cf0e6d1b14b1
📒 Files selected for processing (5)
en/docs/ai-gateway/next/README.mden/docs/ai-gateway/next/llm-proxy/configure-aws-bedrock-provider.mden/docs/ai-gateway/next/llm-proxy/llm-templates.mden/docs/ai-gateway/next/overview.mden/mkdocs.yml
|
Any reason that we are not yet merge this? @Aakashwije |
Krishanx92
left a comment
There was a problem hiding this comment.
Add this to 1.2.0 doc space
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (9)
en/docs/ai-gateway/1.2.0/overview.md (2)
30-30: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse a complete introduction for the template list.
Change this line to
The following templates are available out of the box:.As per coding guidelines and path instructions, use complete, direct sentences and introduce lists clearly.
🤖 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/1.2.0/overview.md` at line 30, Update the introductory sentence before the template list to “The following templates are available out of the box:” so it is complete, direct, and clearly introduces the list.Sources: Coding guidelines, Path instructions
101-105: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse a descriptive heading instead of bold emphasis.
Replace
**How it works:**with a heading, such as## How it works. Keep the numbered procedure below it.As per coding guidelines and path instructions, use descriptive headings and reserve bold text for UI elements.
🤖 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/1.2.0/overview.md` around lines 101 - 105, Replace the bold “How it works:” label with a descriptive Markdown heading such as “## How it works” in the overview documentation, while preserving the numbered procedure beneath it unchanged.Sources: Coding guidelines, Path instructions
en/docs/ai-gateway/1.2.0/README.md (5)
30-30: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse a complete introduction for the template list.
Change this line to
The following templates are available out of the box:.As per coding guidelines and path instructions, use complete, direct sentences and introduce lists clearly.
🤖 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/1.2.0/README.md` at line 30, Update the introductory sentence immediately before the template list to use the complete wording “The following templates are available out of the box:”, preserving the list that follows.Sources: Coding guidelines, Path instructions
95-99: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse a descriptive heading instead of bold emphasis.
Replace
**How it works:**with a heading, such as## How it works. Keep the numbered procedure below it.As per coding guidelines and path instructions, use descriptive headings and reserve bold text for UI elements.
🤖 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/1.2.0/README.md` around lines 95 - 99, Replace the bold “How it works” label with a descriptive Markdown heading, such as “## How it works,” while preserving the numbered procedure beneath it.Sources: Coding guidelines, Path instructions
70-76: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winIntroduce each table with meaningful text.
en/docs/ai-gateway/1.2.0/README.md#L70-L76: Add a sentence before the default-ports table that explains its purpose.en/docs/ai-gateway/1.2.0/README.md#L101-L109: Add a sentence before the documentation table that explains its purpose.en/docs/ai-gateway/1.2.0/overview.md#L75-L82: Add a sentence before the default-ports table that explains its purpose.en/docs/ai-gateway/1.2.0/overview.md#L115-L125: Add a sentence before the documentation table that explains its purpose.As per coding guidelines and path instructions, introduce every table with meaningful text before it.
🤖 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/1.2.0/README.md` around lines 70 - 76, Add a meaningful introductory sentence immediately before each identified table explaining its purpose: en/docs/ai-gateway/1.2.0/README.md lines 70-76 and 101-109, and en/docs/ai-gateway/1.2.0/overview.md lines 75-82 and 115-125. Ensure all four tables are introduced without changing their contents.Sources: Coding guidelines, Path instructions
19-24: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse sentence case for page headings.
en/docs/ai-gateway/1.2.0/README.md#L19-L24: Change headings such asQuick StartandKey Conceptsto sentence case.en/docs/ai-gateway/1.2.0/overview.md#L19-L24: Change headings such asQuick StartandKey Conceptsto sentence case.As per coding guidelines and path instructions, headings in
en/docs/Markdown files must use sentence case.🤖 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/1.2.0/README.md` around lines 19 - 24, Update the headings in en/docs/ai-gateway/1.2.0/README.md at lines 19-24 and en/docs/ai-gateway/1.2.0/overview.md at lines 19-24, including “Quick Start” and “Key Concepts,” to sentence case while preserving their meaning and structure.Sources: Coding guidelines, Path instructions
80-93: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winSpecify a language for each fenced diagram.
en/docs/ai-gateway/1.2.0/README.md#L80-L93: Change the opening fence to ````text` so Markdown tooling can classify the diagram.en/docs/ai-gateway/1.2.0/overview.md#L86-L99: Change the opening fence to ````text` so Markdown tooling can classify the diagram.🤖 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/1.2.0/README.md` around lines 80 - 93, Update the opening fence for the diagram in en/docs/ai-gateway/1.2.0/README.md lines 80-93 to use the text language; make the same opening-fence change in en/docs/ai-gateway/1.2.0/overview.md lines 86-99, leaving the diagram contents unchanged.Source: Linters/SAST tools
en/docs/ai-gateway/next/overview.md (1)
73-73: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winSplit the streaming guidance into shorter sentences.
This paragraph contains several independent behaviors. State the LLM behavior and the MCP behavior in separate sentences or list items.
As per coding guidelines and path instructions, use simple sentences with fewer than 26 words.
🤖 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/overview.md` at line 73, Rewrite the streaming paragraph around the LLM providers, LLM proxies, and MCP proxies behaviors into separate short sentences or list items. Keep the existing details and link, ensuring every sentence has fewer than 26 words.Sources: Coding guidelines, Path instructions
en/docs/ai-gateway/1.2.0/llm-proxy/llm-templates.md (1)
15-17: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winUse sentence case for headings.
Change headings such as
LLM Provider Templates,Out-of-the-Box Supported Templates,Template Structure, andMetadata Extraction Patternsto sentence case.As per coding guidelines and path instructions, headings in
en/docs/Markdown files must use sentence case.Also applies to: 25-25, 41-41, 76-76
🤖 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/1.2.0/llm-proxy/llm-templates.md` around lines 15 - 17, Convert the Markdown headings in this document to sentence case, including the visible headings “LLM Provider Templates,” “Out-of-the-Box Supported Templates,” “Template Structure,” and “Metadata Extraction Patterns,” while preserving their wording and heading levels.Sources: Coding guidelines, Path instructions
🤖 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.
Outside diff comments:
In `@en/docs/ai-gateway/1.2.0/llm-proxy/llm-templates.md`:
- Around line 15-17: Convert the Markdown headings in this document to sentence
case, including the visible headings “LLM Provider Templates,” “Out-of-the-Box
Supported Templates,” “Template Structure,” and “Metadata Extraction Patterns,”
while preserving their wording and heading levels.
In `@en/docs/ai-gateway/1.2.0/overview.md`:
- Line 30: Update the introductory sentence before the template list to “The
following templates are available out of the box:” so it is complete, direct,
and clearly introduces the list.
- Around line 101-105: Replace the bold “How it works:” label with a descriptive
Markdown heading such as “## How it works” in the overview documentation, while
preserving the numbered procedure beneath it unchanged.
In `@en/docs/ai-gateway/1.2.0/README.md`:
- Line 30: Update the introductory sentence immediately before the template list
to use the complete wording “The following templates are available out of the
box:”, preserving the list that follows.
- Around line 95-99: Replace the bold “How it works” label with a descriptive
Markdown heading, such as “## How it works,” while preserving the numbered
procedure beneath it.
- Around line 70-76: Add a meaningful introductory sentence immediately before
each identified table explaining its purpose: en/docs/ai-gateway/1.2.0/README.md
lines 70-76 and 101-109, and en/docs/ai-gateway/1.2.0/overview.md lines 75-82
and 115-125. Ensure all four tables are introduced without changing their
contents.
- Around line 19-24: Update the headings in en/docs/ai-gateway/1.2.0/README.md
at lines 19-24 and en/docs/ai-gateway/1.2.0/overview.md at lines 19-24,
including “Quick Start” and “Key Concepts,” to sentence case while preserving
their meaning and structure.
- Around line 80-93: Update the opening fence for the diagram in
en/docs/ai-gateway/1.2.0/README.md lines 80-93 to use the text language; make
the same opening-fence change in en/docs/ai-gateway/1.2.0/overview.md lines
86-99, leaving the diagram contents unchanged.
In `@en/docs/ai-gateway/next/overview.md`:
- Line 73: Rewrite the streaming paragraph around the LLM providers, LLM
proxies, and MCP proxies behaviors into separate short sentences or list items.
Keep the existing details and link, ensuring every sentence has fewer than 26
words.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: b69098e7-4c2f-489a-acbb-de4e87ca355d
📒 Files selected for processing (8)
en/docs/ai-gateway/1.2.0/README.mden/docs/ai-gateway/1.2.0/llm-proxy/configure-aws-bedrock-provider.mden/docs/ai-gateway/1.2.0/llm-proxy/llm-templates.mden/docs/ai-gateway/1.2.0/overview.mden/docs/ai-gateway/next/llm-proxy/configure-aws-bedrock-provider.mden/docs/ai-gateway/next/llm-proxy/llm-templates.mden/docs/ai-gateway/next/overview.mden/mkdocs.yml
Purpose
Add documentation for configuring AWS Bedrock as an LLM Provider in API Platform AI Gateway.
This addresses the need for new users to configure an AWS Bedrock provider end to end, including Bedrock bearer API keys and AWS Signature Version 4 (SigV4) authentication.
Resolves N/A
Checklist
llms.txtis updated for AI readiness content.Goals
Introduce an AWS Bedrock LLM Provider guide that helps users:
Approach
Added a new guide at:
en/docs/ai-gateway/next/llm-proxy/configure-aws-bedrock-provider.mdUpdated the AI Gateway overview pages to link to the new guide:
en/docs/ai-gateway/next/overview.mden/docs/ai-gateway/next/README.mdUpdated the documentation navigation in
en/mkdocs.yml:AI and MCPgrouping with separateLLM ProxiesandMCP Proxiessections under Guides.Guides > LLM Proxies.Guides > MCP Proxies.Updated
en/docs/ai-gateway/next/llm-proxy/llm-templates.mdwith the latest provider template structures, including:gateway.api-platform.wso2.com/v1API versions.groupId,managedBy, and templateversionfields./responsesresource mappings./api/management/v1.The guide includes copy-paste-ready
curland YAML examples, Region-neutral configuration usingAWS_REGION, separate bearer and SigV4 authentication sections, IAM policy guidance, verification steps, and troubleshooting notes.Updated Guides navigation
User stories
As a platform administrator, I want to configure AWS Bedrock as an LLM Provider so that applications can invoke Bedrock models through API Platform AI Gateway.
As a platform administrator, I want separate instructions for bearer authentication and SigV4 authentication so that I can choose the authentication method that matches my environment.
As a gateway operator, I want examples for IAM access keys, the default credential chain, IRSA, and STS AssumeRole so that I can configure Bedrock securely across local, EKS, and cross-account deployments.
As a documentation user, I want AI and MCP guides grouped separately so that I can quickly find guides relevant to LLM proxies or MCP proxies.
Release note
Added documentation for configuring AWS Bedrock as an LLM Provider in API Platform AI Gateway, including Bedrock bearer API key and AWS SigV4 authentication.
Documentation
This PR adds the following documentation page:
en/docs/ai-gateway/next/llm-proxy/configure-aws-bedrock-provider.mdIt also updates the LLM Provider Templates reference and AI Gateway navigation.
Training
N/A. No training content changes are included in this PR.
Certification
N/A. This documentation update does not introduce certification exam impact.
Marketing
N/A. No marketing content changes are included in this PR.
Automation tests
Unit tests
N/A. Documentation-only change.
Integration tests
N/A. Documentation-only change.
Security checks
Samples
The guide includes sample LLM Provider configurations for:
It also includes sample
curlcommands for creating gateway secrets, deploying the provider, creating a gateway consumer API key, and invoking the BedrockConverseoperation through the gateway.The Provider Templates documentation includes updated YAML structures for:
Related PRs
N/A
Migrations (if applicable)
N/A. No migration impact.
Test environment
Documentation build was tested locally with MkDocs.
Environment:
en/mkdocs.ymlValidation commands:
Both validations passed successfully.
Learning
Reviewed the existing LLM Provider documentation patterns and aligned the AWS Bedrock guide with the existing provider configuration structure.
Referenced the current AWS Bedrock authentication behavior, WSO2 Gateway Controller AWS authentication policy behavior, and the latest provider template definitions from the official
wso2/api-platformrepository.