Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
335 commits
Select commit Hold shift + click to select a range
2c9f930
fix plugin mentions
jbaross Jun 24, 2026
3df68a0
remove testing change
jbaross Jun 24, 2026
3b75439
remove double spaces for copilot
jbaross Jun 24, 2026
710d58f
ollama either proxy plugin
jbaross Jun 24, 2026
0e1f97d
AI prefix for entities
jbaross Jun 24, 2026
0896c41
Appease vale
tomek-labuk Jun 24, 2026
7d8ff7f
feat(ai-gateway) migration review skill (#5688)
lmilan Jun 24, 2026
9da9a66
move skill
lmilan Jun 24, 2026
c35ab36
feat(aigw): update copy of the major version banner (#5697)
fabianrbz Jun 24, 2026
c9b67ae
feat(aigw-policies): add tool that extracts the policy scopes
fabianrbz Jun 22, 2026
77e0d16
feat(aigw-policies): generate aigw policy scopes
fabianrbz Jun 22, 2026
65dfe8f
feat(aigw-policies): generate index file for aigw-policies
fabianrbz Jun 22, 2026
1b3d140
feat(aigw-policies): render reference pages based on the plugin
fabianrbz Jun 22, 2026
f32fad8
feat(aigw-policies): add config that defines which metadata to pull from
fabianrbz Jun 22, 2026
6effc1f
feat(aigw-policies): override policies descriptions
fabianrbz Jun 23, 2026
efd34f7
fix(aigw-policies): prevent the frontmatter validation to run on
fabianrbz Jun 23, 2026
e64758d
fix(aigw-policy): cache template file in a constant
fabianrbz Jun 23, 2026
c7bafd1
fix(aigw-policies): use the policy title generator for aigw policies
fabianrbz Jun 23, 2026
a0d203e
fix(aigw-policies): rename aigw_policies generator
fabianrbz Jun 23, 2026
7b66081
fix: upstream-oauth aigw policy description
fabianrbz Jun 23, 2026
7a8f72f
feat(aigw-policies): return a schema drop that responds to as_json so
fabianrbz Jun 23, 2026
3adeef1
fix(policies): make generate_reference_page retun the created page
fabianrbz Jun 23, 2026
e36231e
feat(aigw-policies): skip the generation locally
fabianrbz Jun 23, 2026
cf5779d
refactor(policies): refactor plugin and policies index to use shared
fabianrbz Jun 23, 2026
089c20d
feat(aigw-policies): add aigw-policies to top navigation
fabianrbz Jun 23, 2026
3ec4125
feat(aigw-policies): drop third-party policies for now, aigw 2.0 does
fabianrbz Jun 23, 2026
01a03f9
feat(aigw-policies): set `versioned: false` to reference pages, we don't
fabianrbz Jun 23, 2026
d7e248b
fix(llms): use `API Gateway Plugins` instead of `Plugins`
fabianrbz Jun 23, 2026
9360bcd
feat(aigw-policies): update llms.txt with its own section for AI Gateway
fabianrbz Jun 23, 2026
70fed94
feat(aigw-policies): load specs into the policy
fabianrbz Jun 23, 2026
f489f37
feat(aigw-policies): render scopes in the info box on policy pages
fabianrbz Jun 24, 2026
a92be67
feat(aigw-policies): use Policy in search results if the product
fabianrbz Jun 24, 2026
46242db
feat(aigw-policy): render 'Policy' as part of the H1 of aigw policy
fabianrbz Jun 24, 2026
0d8700a
feat(aigw-policies): add {% aigw_policy %} tag and component for the
fabianrbz Jun 24, 2026
ef21494
fix(aigw): fix aigw landing page so that it has the right metadata and
fabianrbz Jun 24, 2026
b8377cb
fix(aigw): mcp landing page
fabianrbz Jun 24, 2026
a246fb8
fix(aigw): a2a landing page
fabianrbz Jun 24, 2026
1fc91b3
fix(aigw): ai-providers landing page, metadata
fabianrbz Jun 24, 2026
83673bd
fix(aigw): load-balancing page, metadata
fabianrbz Jun 24, 2026
363c176
fix(aigw): monitor-ai-llm-metrics
fabianrbz Jun 24, 2026
384ed50
fix: broken_links generator
fabianrbz Jun 24, 2026
dfaa597
fix(aigw-policies): load schemas from app/_schemas/ai-gateway/policies
fabianrbz Jun 24, 2026
a6e336a
feat(aigw-policies): generate schemas
fabianrbz Jun 24, 2026
c53f0a1
refactor(schemas): read schemas from disk instead of kong_plugins data
fabianrbz Jun 24, 2026
16dbb6c
fix(aigw-policies): add icon to scopes and fix the styles for Global
fabianrbz Jun 25, 2026
4244177
feat(ai-gateway): update streaming to v2 (#5661)
jbaross Jun 25, 2026
3c80793
feat(automated-tests): update extractor so that aigw v1 means gateway
fabianrbz Jun 24, 2026
b565f0e
fix(aigw): update expected failures to point to aigw v1
fabianrbz Jun 25, 2026
1d0e28c
fix indentation
fabianrbz Jun 25, 2026
d196c73
Feat(ai-gateway): v2 telemetry (#5674)
jbaross Jun 25, 2026
fc913d8
feat(ai-gateway): AI Gateway, A2A, and MCP landing pages review (#5700)
lmilan Jun 25, 2026
874107d
fix(ai-gateway):telemetry plugin mentions removal (#5714)
jbaross Jun 25, 2026
8b7e0c1
feat(ai-gateway): Provider pages review (#5712)
lmilan Jun 25, 2026
bb88521
Align semantic similarity doc with AG GW 2.0
tomek-labuk Jun 25, 2026
b3bc2fb
Update app/ai-gateway/semantic-similarity.md
tomek-labuk Jun 25, 2026
dd297db
Update app/ai-gateway/semantic-similarity.md
tomek-labuk Jun 25, 2026
f98db81
Update app/ai-gateway/semantic-similarity.md
tomek-labuk Jun 25, 2026
807b9d3
Update app/ai-gateway/semantic-similarity.md
tomek-labuk Jun 25, 2026
1ebf839
feat(aigw): Add "Previous versions of this page" sections to the layout
fabianrbz Jun 25, 2026
b7b1168
Feat/aigw changelog (#5722)
fabianrbz Jun 29, 2026
d762e4d
fix(ai-gateway): v2.0 AI and MCP landing page edits (#5720)
cloudjumpercat Jun 29, 2026
8eedbab
Feat/policy overview pages (#5729)
fabianrbz Jun 29, 2026
5b53cb1
Update _redirects (#5750)
Guaris Jun 29, 2026
6bbb9e4
Chore(AIGW): a2a Landing page (#5746)
Guaris Jun 29, 2026
e3fa3f3
Update AI Agent doc
tomek-labuk Jun 30, 2026
2628a22
Revert AI Agent changes
tomek-labuk Jun 30, 2026
03c3c3f
review (#5741)
lmilan Jun 30, 2026
d9f8b3e
Update AI Vault doc
tomek-labuk Jun 30, 2026
3120657
Revert ai vault changes
tomek-labuk Jun 30, 2026
34b35f0
Update AI Provider entity documentation
tomek-labuk Jun 29, 2026
5366f44
Apply suggestions from code review
tomek-labuk Jun 30, 2026
7763c56
Fix
tomek-labuk Jun 30, 2026
fa22cd1
Update AI model doc
tomek-labuk Jun 26, 2026
6fc9c4f
Miscellaneous updates
tomek-labuk Jun 29, 2026
acb55a8
Fix load balancing reference
tomek-labuk Jun 29, 2026
0e5e62f
Apply suggestions from code review
tomek-labuk Jun 30, 2026
6dedfda
Fix
tomek-labuk Jun 30, 2026
15836a7
Update priority section
tomek-labuk Jun 30, 2026
7be6f3c
Clean up AI entity docs
tomek-labuk Jun 30, 2026
7cdab97
Revert ai-entities cleanup
tomek-labuk Jun 30, 2026
799b60b
Remove redundant files, update landing page
tomek-labuk Jun 30, 2026
7e74c80
Apply suggestions from code review
tomek-labuk Jun 30, 2026
7b7bf68
feat(ai-gateway): Add new getting started guide for proxying LLM traf…
tomek-labuk Jun 30, 2026
ede0f9a
Fix(AIGW): Fix headings (#5767)
Guaris Jun 30, 2026
8324d61
feat(aigw): add banner to changelog (#5772)
fabianrbz Jun 30, 2026
f11e3ec
update skill to mention front matter (#5774)
Guaris Jun 30, 2026
aca1400
prompt decorator (#5773)
Guaris Jun 30, 2026
9fb1f53
feat(AIGW): Migrate AI Prompt Template policy (#5775)
lena-larionova Jun 30, 2026
0023a11
feat(AIGW): Migrate AI Prompt Guard policy (#5776)
lena-larionova Jul 1, 2026
6f11776
feat(ai-gateway): Add getting started with MCP guide (#5731)
tomek-labuk Jul 1, 2026
070ea99
Update AI Policy doc
tomek-labuk Jun 30, 2026
2a4e4f2
Apply suggestions from code review
tomek-labuk Jun 30, 2026
9695e31
Update AI Consumer Group doc
tomek-labuk Jun 30, 2026
bc05f76
appease vale
tomek-labuk Jun 30, 2026
10965ca
Apply suggestions from code review
tomek-labuk Jul 1, 2026
7dc43c5
update endpoint for consumer-groups
tomek-labuk Jul 1, 2026
9805d55
add missing links
tomek-labuk Jul 1, 2026
83013bf
Update AI Consumer doc
tomek-labuk Jun 30, 2026
d565b35
fix ai policy mentions
tomek-labuk Jun 30, 2026
1a6cb3a
appease vale
tomek-labuk Jun 30, 2026
505201d
Appease vale
tomek-labuk Jun 30, 2026
a14fe54
Apply suggestions from code review
tomek-labuk Jun 30, 2026
f8982db
fixes
tomek-labuk Jul 1, 2026
d868e73
Fixes after review
tomek-labuk Jul 1, 2026
d642482
appease vale
tomek-labuk Jul 1, 2026
9975341
Fix(ai-gw) v2 audit log re review (#5766)
jbaross Jul 1, 2026
f7761d1
feat(ai-gateway): AI GCP Model Armor overview page (#5762)
lmilan Jul 1, 2026
d4312ab
Update AI Vault doc
tomek-labuk Jun 30, 2026
46c8377
Appease vale
tomek-labuk Jun 30, 2026
6024a57
Apply suggestions from code review
tomek-labuk Jul 1, 2026
d3f2f1c
fix ai-vault endpoint
tomek-labuk Jul 1, 2026
7d778f0
Feat(AI-gateway): LLM As a judge overview page (#5769)
Guaris Jul 1, 2026
2c86020
Update AI Agent entity docs
tomek-labuk Jun 30, 2026
b26a5c7
appease vale
tomek-labuk Jun 30, 2026
ddf92a2
appease vale
tomek-labuk Jun 30, 2026
a8ce663
Apply suggestions from code review
tomek-labuk Jul 1, 2026
61a7e3f
fix broken liquid tag
tomek-labuk Jul 1, 2026
754534e
fix(ai-gateway): AI provider pages review (#5758)
lmilan Jul 1, 2026
8e2044b
chore(AIGW): Global scope icon in policy info box (#5777)
lena-larionova Jul 1, 2026
7307eca
feat(aigw): Migrate AWS Guardrails Policy overview (#5779)
cloudjumpercat Jul 1, 2026
d3459bf
Feat(ai-gw): v2 pii sanitizer (#5795)
jbaross Jul 1, 2026
1634bb6
skill and misc fixes (#5789)
jbaross Jul 1, 2026
79b1eff
skill and misc fixes (#5790)
jbaross Jul 1, 2026
dbda3c6
skill and misc fixes (#5791)
jbaross Jul 1, 2026
8a79bab
feat(aigw): add placeholder banner to plugins that have `ai_gateway_u…
fabianrbz Jul 1, 2026
86c392d
Feat(aigw): AI request transformer policy overview (#5804)
cloudjumpercat Jul 1, 2026
4854530
Migrate (#5803)
cloudjumpercat Jul 2, 2026
60e8af3
Migrate AI MCP Oauth2 overview
tomek-labuk Jul 1, 2026
0f45646
Apply suggestions from code review
tomek-labuk Jul 1, 2026
c099230
Apply suggestions from code review
tomek-labuk Jul 2, 2026
b224111
feat(ai-gateway): AI Lakera Guard overview (#5788)
lmilan Jul 2, 2026
ec7f322
Fix load balancing doc
tomek-labuk Jun 25, 2026
80da71d
fix(ai-gateway): update redis vector link (#5813)
juliamrch Jul 2, 2026
53e6a2c
feat(aigw): generate old and new indices (#5778)
fabianrbz Jul 2, 2026
669aa9d
feat(ai-gateway): AI Prompt Compressor overview (#5806)
lmilan Jul 2, 2026
286e243
feat(ai-gateway): AI Semantic Prompt Guard overview (#5808)
tomek-labuk Jul 2, 2026
3781b86
feat(ai-gateway): AI response transformer Policy (#5800)
juliamrch Jul 2, 2026
19b78d0
fix(aigw): Policy frontmatter (#5818)
cloudjumpercat Jul 2, 2026
8a058c4
Align with AI GW 2.0
tomek-labuk Jun 25, 2026
c37d319
feat(ai-gateway): AI Semantic Response Guard (#5810)
tomek-labuk Jul 3, 2026
2776787
First revision pass
cloudjumpercat Jul 2, 2026
1d65842
Update app/ai-gateway/streaming.md
tomek-labuk Jul 3, 2026
7d7d76c
Chore(AIGW): Add plugin banner (#5821)
Guaris Jul 3, 2026
f8e8b0f
Add a dirty WIP draft
tomek-labuk Jun 29, 2026
134d4f0
docs(ai-gateway): set hybrid deployment mode, add architecture diagra…
AlessandroSpallina Jul 3, 2026
e325016
fix: Remove architecture doc
tomek-labuk Jul 6, 2026
828af64
fix(aigw): set content_type: plugin to aigw policies.
fabianrbz Jul 2, 2026
9a15b69
feat(aigw): render api pages for policies
fabianrbz Jul 2, 2026
2382991
feat(aigw): add sanitizer and prompt-compressor api pages.
fabianrbz Jul 2, 2026
2626f19
feat(kong-conf): move app/_data/kong-conf to app/_kong-conf to reduce
fabianrbz Jun 26, 2026
e962c60
refactor(changelog): update the code to use the new file paths and
fabianrbz Jun 26, 2026
6668b4b
refactor(kong-conf): update tool so that it stores the kong-conf file in
fabianrbz Jun 26, 2026
b8ad35b
refactor(kong-conf): namespace kong-conf files with their product
fabianrbz Jun 26, 2026
7a71c0b
refactor(kong-conf): update tool to write kong-conf files under the
fabianrbz Jun 26, 2026
38f7792
feat(kong-conf): udpate kong_conf tag to support both gateway and
fabianrbz Jun 26, 2026
781b06f
fix(kong-conf): update tool to use the proper product when setting
fabianrbz Jun 26, 2026
247fa97
feat(kong-conf): generate ai-gateway 2.0 kong-conf
fabianrbz Jun 26, 2026
b55d87f
fix(kong-conf): use the product to render the min_version of a field
fabianrbz Jun 26, 2026
df872f6
feat(aigw): add configuration reference page
fabianrbz Jun 26, 2026
280d6ba
feat(kong_config_table): update kong_config_table to support both
fabianrbz Jun 26, 2026
aea976a
fix(aigw): move kong-conf to the right place
fabianrbz Jul 3, 2026
6d153b1
Migrate AI MCP server from an old PR
tomek-labuk Jul 7, 2026
d3d20c8
Apply suggestions from code review
tomek-labuk Jul 7, 2026
583720b
Minor fixes
tomek-labuk Jul 7, 2026
10968a3
port data-gov v2 (#5878)
jbaross Jul 8, 2026
8da4269
fix(ai-gateway): Align providers docs with 0.0.47 API schema (#5875)
tomek-labuk Jul 10, 2026
962d306
Chore(AIGW): Fix Get started doc (#5901)
Guaris Jul 10, 2026
131baa7
fix providers creation examples (#5905)
jbaross Jul 10, 2026
adfa9cf
feat(ai-gateway): Add AI GW architecture doc (#5904)
tomek-labuk Jul 10, 2026
598135c
updat eindex (#5909)
Guaris Jul 10, 2026
ed6e7c7
Minor updates (#5916)
tomek-labuk Jul 13, 2026
9b111c6
Revert "hack: to make ai gateway requests work with portal v3"
fabianrbz Jul 13, 2026
16654cc
Merge branch 'main' into release/ai-gateway-2.0
fabianrbz Jul 13, 2026
0090f23
fix(ai-gateway): Update main getting started guide (#5914)
tomek-labuk Jul 13, 2026
9768e52
feat(ai-gateway): update ai gw main landing page (#5912)
tomek-labuk Jul 13, 2026
e0dfa73
fix(ai-gateway): Update ui instructions for ai entities (#5915)
tomek-labuk Jul 13, 2026
699f89b
feat(ai-gateway): AI Agent quickstart guide (#5918)
tomek-labuk Jul 13, 2026
b64cfd0
Feat(AIGW): On-prem config doc (#5866)
Guaris Jul 13, 2026
50c8d52
fix(ai-gateway) Update MCP getting started guide (#5913)
tomek-labuk Jul 13, 2026
d6dfee2
chore(aigw): AIGW 2.0 homepage updates (#5926)
lena-larionova Jul 13, 2026
5158dde
move quickstart section + add missing changelog URL (#5930)
lena-larionova Jul 13, 2026
08f277a
Feat(aigw): v2 migration guide (#5897)
jbaross Jul 13, 2026
3f200a2
fix konnect api url in entity example (#5931)
lena-larionova Jul 13, 2026
c0b49b8
feat(aigw): Migrate AI Azure Content Safety Policy overview (#5780)
cloudjumpercat Jul 13, 2026
255d1d6
Fix(AIGW): getstarted fixes (#5927)
Guaris Jul 13, 2026
072c159
feat(aigw): AI Custom Guardrail Policy overview migrate (#5781)
cloudjumpercat Jul 14, 2026
829da02
Chore(AIGW): Review entity and provider schemas (#5907)
Guaris Jul 14, 2026
136dbd7
Feat(AIGW): FOrward proxy (#5906)
jbaross Jul 14, 2026
d585069
feat(ai-gateway): Use Claude Code with OpenAI (#5935)
tomek-labuk Jul 14, 2026
1ae4ec5
feat(ai-gateway): Migrate RAG injector (#5947)
tomek-labuk Jul 14, 2026
dbe08e4
Kong Operator AI Gateway Docs (#5922)
justindavies Jul 14, 2026
85f0269
fix(ai-gateway): on-prem doc (#5945)
tomek-labuk Jul 14, 2026
de68251
Fix(AIGW) forward proxy (#5949)
Guaris Jul 14, 2026
8eb2885
update missing redirects for plugins (#5933)
lena-larionova Jul 14, 2026
109720c
Feat(aigw): v2 azure claude cli (#5948)
jbaross Jul 14, 2026
f8b3375
chore(aigw): Set canonical urls (#5934)
lena-larionova Jul 14, 2026
be9c8df
feat(aigw): Alternate kongctl claude code how-to (#5923)
jbaross Jul 14, 2026
fb1d1a1
feat(ai-gateway): Use Claude code with Huggingface (#5943)
tomek-labuk Jul 14, 2026
47fe708
Fix(AIGW): Fix get started guide for latest version of kongctl (#5938)
Guaris Jul 15, 2026
b4b5a56
add more provider cards (#5962)
tomek-labuk Jul 15, 2026
3b8c2e0
fix(ai-gateway): A2A prereq (#5964)
tomek-labuk Jul 15, 2026
b422b17
feat(ai-gateway): Add codex how-to (#5961)
tomek-labuk Jul 15, 2026
62c8699
feat(ai-gateway): Add bedrock how-to for Claude (#5942)
tomek-labuk Jul 15, 2026
fd540da
Feat(aigw): Route Claude CLI traffic through {{site.ai_gateway}} and …
jbaross Jul 15, 2026
32ce09e
draft gemini how to (#5959)
cloudjumpercat Jul 15, 2026
9902c06
feat(aigw): Managing AI Gateway with kongctl (#5957)
lena-larionova Jul 15, 2026
1e530e3
fix: remove duplicate konctl instructions (#5970)
juliamrch Jul 15, 2026
fc1ccf9
fix: replace YOUR_OPENAI_API_KEY by OPENAI_API_KEY as saved in the se…
juliamrch Jul 15, 2026
9bea7ce
fix(ai-gateway): Update MCP get started (#5963)
tomek-labuk Jul 15, 2026
8f39d00
Feat(aigw): v2 dashscope claude cli (#5967)
jbaross Jul 15, 2026
ad45cfd
Adjust adoption wording (#5951)
cloudjumpercat Jul 15, 2026
3133303
Fix(aigw): v2 azure combined config (#5972)
jbaross Jul 15, 2026
bfcfe1f
feat(aigw): Add specs (#5953)
cloudjumpercat Jul 15, 2026
74c0fe4
fix(ai-gateway) Push docs-related API spec updates (#5966)
tomek-labuk Jul 15, 2026
806bd1c
update index and landing page; fix icon card alignment; fix link
lena-larionova Jul 15, 2026
90c9724
Feat(aigw): hardened env note (#5974)
cloudjumpercat Jul 15, 2026
c551a54
Fix(AIGW): AI CLI LINKS (#5955)
Guaris Jul 15, 2026
f53302b
feat(aigw): add site banner (#5973)
fabianrbz Jul 15, 2026
ac2aba4
Feat(aigw): How to AI Prompt Guard Policy (#5976)
cloudjumpercat Jul 16, 2026
727d44a
feat(ai-gateway): AI Rate Limiting Advanced overview (#5965)
lmilan Jul 16, 2026
5d29562
Merge branch 'main' into release/ai-gateway-2.0
fabianrbz Jul 16, 2026
22a1cc0
Feat(aigw): v2 aws guardrails how to with kongctl (#5983)
jbaross Jul 16, 2026
4cd187f
fix vale errors
cloudjumpercat Jul 16, 2026
dc88672
fix(aigw): broken link
fabianrbz Jul 16, 2026
ad9bd35
chore(aigw): Docs QA (#5978)
lena-larionova Jul 16, 2026
76814c7
publish aigw spec v0.1.1 (#5991)
lena-larionova Jul 16, 2026
d66e0e0
split out info about adopt vs external; apply feedback (#5994)
lena-larionova Jul 16, 2026
a438220
Merge branch 'main' into release/ai-gateway-2.0
lena-larionova Jul 16, 2026
87086f0
Revert "Kong Operator AI Gateway Docs (#5922)" (#6002)
cloudjumpercat Jul 17, 2026
80795a1
add version to kongctl prereq (#6008)
lena-larionova Jul 17, 2026
7ee6220
fix(ai-gateway): correct Gemini API paths (#6331)
Justineo Jul 23, 2026
780893f
fix(ai-gateway): correct Vertex API paths
Justineo Jul 23, 2026
536099d
fix(ai-gateway): correct OpenAI video path
Justineo Jul 23, 2026
b5fc666
remove kongctl adopt from prereq (#6340)
lena-larionova Jul 23, 2026
89a5aa8
feat(ai-gateway): Add kongctl to provider subpages (#6438)
tomek-labuk Jul 27, 2026
96ef4d7
feat(ai-gateway): Add MCP series how-to (#6439)
tomek-labuk Jul 28, 2026
2b81675
feat(ai-gateway): Monitor A2A traces and metrics (#6335)
tomek-labuk Jul 28, 2026
8ed2aa6
feat(aigw): Kongctl replace external with !lookup name (#6471)
lena-larionova Jul 28, 2026
d8f57a0
feat(aigw): fix path to kong-ee in changelog generator for aigw
fabianrbz Jul 28, 2026
1dcfce1
feat(aigw): add 2.0.1 release gateway
fabianrbz Jul 28, 2026
d7104dd
feat(aigw): generate 2.0.1 changelog
fabianrbz Jul 28, 2026
aae75da
Merge branch 'main' into release/ai-gateway-2.0
fabianrbz Jul 29, 2026
d0cc364
fix(aigw): deck's `managed-by` is now `managed_by`
fabianrbz Jul 29, 2026
2cc807e
fix deck command (#6501)
lena-larionova Jul 29, 2026
20bfa14
fix: deck input and output examples for on-prem ai-gateway (#6510)
harshadixit12 Jul 30, 2026
c30d8ea
feat(ai-gateway): Secure A2A traffic with OIDC (#6496)
tomek-labuk Jul 31, 2026
527f947
feat(ai-gateway): Add calendar window feature overview (#6507)
tomek-labuk Jul 31, 2026
c1a0093
fix(ai-gateway): Add missing conversion samples to the on-prem doc (#…
tomek-labuk Jul 31, 2026
ae2abb8
Feat(aigw): v2 a2a rate limit how-to (#6511)
jbaross Jul 31, 2026
4d941fe
feat(ai-gateway): Update MCP aggregation docs (#6524)
tomek-labuk Aug 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
226 changes: 226 additions & 0 deletions .claude/skills/ai-gateway-migration-review/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,226 @@
---
name: ai-gateway-migration-review
description: >
Reviews AI Gateway documentation files for correctness during the v1 → v2 migration.
Use this skill whenever you need to audit or fix AI Gateway docs for migration issues —
whether reviewing specific files or all AI Gateway files across how-tos, landing pages,
and reference pages. Triggers on requests like "review this ai-gateway file", "check
my migration", "audit ai-gateway docs for v2", "find v1 references in ai-gateway pages",
"update this file for AI Gateway v2", or any time someone is working on AI Gateway
content under app/_how-tos/ai-gateway, app/_landing-pages/ai-gateway, or app/ai-gateway.
---

# AI Gateway Migration Review Skill

This skill audits and optionally fixes AI Gateway documentation files for the v1 → v2 migration.

## Step 1: Ask the user two questions upfront

Before doing any work, ask (you can ask both in one message):

1. **Scope**: Do they want to review a specific files or directories or all AI Gateway files?
- If specific files or directories, ask for the path.
- If all files, you'll scan these directories:
- `app/_how-tos/ai-gateway/`
- `app/_landing_pages/ai-gateway/`
- `app/ai-gateway/`

2. **Mode**: Should you make changes directly, or produce a report of issues to fix?

## Step 2: Perform the review

Apply the rules below. For **report mode**, collect all findings and present them as a structured report at the end. For **edit mode**, apply fixes directly and summarize what changed.

---

## Rules for v1 files (under any `v1/` subdirectory)

These files are the legacy v1 content. They need their own internal consistency:

- **Breadcrumbs and links**: Any breadcrumbs or links starting with `/ai-gateway/` must use `/ai-gateway/v1/` (not the bare `/ai-gateway/` path).
- **Permalinks**: If the file has a `permalink:` frontmatter field, it must contain `/v1/` in the path.
- **Include and data file references**: References to AI Gateway include files (`{% include_content ... %}`, `{% include ... %}`) and data files must use the `/v1/` variant, e.g. `ai-gateway/v1/some-include` not `ai-gateway/some-include`.

---

## Rules for v2 files (current, non-v1 AI Gateway files)

### Frontmatter requirements

Every v2 AI Gateway page must have this exact frontmatter shape for these fields:

```yaml
products:
- ai-gateway # Only ai-gateway, no other products
works_on:
- konnect # Only konnect, no on-prem
tools:
- konnect-api # Optional field, if it exists, must be only konnect-api
min_version:
ai-gateway: '2.0'
```

Flag any deviation:
- `products` containing anything other than `ai-gateway`
- `works_on` containing `on-prem` or anything other than `konnect`
- `tools` containing `deck`, `admin-api`, or anything other than `konnect-api`
- Missing or wrong `min_version` (must be `ai-gateway: '2.0'`)

#### `content_type` on AI Policy pages

Pages under `app/_ai_gateway_policies/` are auto-generated as stubs with the default `content_type: plugin`. When you author real overview content for one of these pages (i.e. the file has hand-written body prose, not just frontmatter), set `content_type: policy`.

- If you are adding or editing overview prose on an `_ai_gateway_policies/` page, change `content_type: plugin` → `content_type: policy`.
- Leave untouched stubs alone — do **not** flip `content_type` on pages that still have an empty body. The stub default stays `plugin` until the page gets real content.

### Plugin → AI Policy migration

Plugins have been replaced by AI Policies in v2. The four plugins that do **not** exist as policies are exceptions:
- AI A2A Proxy
- AI MCP Proxy
- AI Proxy
- AI Proxy Advanced

For everything else:

- **Rename in prose**: Replace "X plugin" with "X Policy". For example:
- "AI Request Transformer plugin" → "AI Request Transformer Policy"
- "AI Prompt Guard plugin" → "AI Prompt Guard Policy"

- **Links to plugins**: Replace `/plugins/` path with `/ai-gateway/policies/`. For example:
- `/plugins/ai-prompt-guard/` → `/ai-gateway/policies/ai-prompt-guard/`
- `/plugins/?category=ai` → `/ai-gateway/policies/`

- **Links to the Plugin entity**: When a link points at the Gateway Plugin entity page `/gateway/entities/plugin/` *but refers to an AI Policy*, replace it with the AI Policy entity page `/ai-gateway/entities/ai-policy/`. For example:
- `[AI Policy](/gateway/entities/plugin/)` → `[AI Policy](/ai-gateway/entities/ai-policy/)`
- `[AI Prompt Guard Policy](/gateway/entities/plugin/)` → `[AI Prompt Guard Policy](/ai-gateway/entities/ai-policy/)`

Be careful: `/gateway/entities/plugin/` can also be a legitimate reference to the generic Gateway Plugin entity — for instance when a page contrasts AI Policies with how {{site.base_gateway}} plugins work. Only rewrite when the link is genuinely about an AI Policy. **Flag ambiguous cases for manual review** rather than rewriting automatically.

- **Exception — flag these**: Any reference to AI A2A Proxy, AI MCP Proxy, AI Proxy, or AI Proxy Advanced as plugins should be flagged for manual review (these don't have policy equivalents).

- **Landing page plugin blocks**: In YAML landing pages (`.yaml` files under `_landing_pages/`), replace `type: plugin` blocks with `type: aigw_policy`. Example:
```yaml
# Before (v1)
- type: plugin
config:
slug: ai-prompt-guard

# After (v2)
- type: aigw_policy
config:
slug: ai-prompt-guard
```

### Include and data file references

References to AI Gateway include files and data files must use `/v2/`. For example:
- `ai-gateway/circuit-breaker` → `ai-gateway/v2/circuit-breaker`
- `_includes/md/ai-gateway/circuit-breaker.md` → `_includes/md/ai-gateway/v2/circuit-breaker.md`

Flag any `{% include /plugins/` tags — v2 AI Gateway pages must not pull in plugin includes. These should be removed or replaced with the appropriate AI Policy equivalent. For example:

```
{% include /plugins/ai-a2a-proxy/log-output-fields.md %}
```

This should be replaced with a corresponding AI Policy include (e.g. under `_includes/md/ai-gateway/v2/`) or removed if no equivalent exists.

### Code block style

Example codeblocks in how-to guides should use `{% konnect_api_request %}` rather than raw curl or deck commands where they're making API calls. Flag any `curl` commands or `deck` commands in example steps that should be `{% konnect_api_request %}` blocks.

### Konnect-only deployments

v2 AI Gateway is Konnect-only. Flag any references to on-premises deployments, self-hosted Kong Gateway, or any instructions that only apply to on-prem.

### Kong Gateway → AI Gateway

Most references to Kong Gateway or `{{site.base_gateway}}` should be replaced with `{{site.ai_gateway}}`. However, some are legitimate — when a sentence genuinely compares or contrasts AI Gateway with Kong Gateway (e.g. "When operating {{site.ai_gateway}} alongside {{site.base_gateway}}…"), the `{{site.base_gateway}}` reference may be intentional. Flag these for manual review rather than replacing them automatically.

### AI Gateway entity names

All AI Gateway entity names (from `app/_ai_gateway_entities/`) must be capitalized and prefixed with "AI". Known entities:
- AI Agent
- AI Consumer
- AI Consumer Credential
- AI Consumer Group
- AI Data Plane Certificate
- AI Data Plane Node
- AI Gateway
- AI MCP Server
- AI Model
- AI Policy
- AI Provider
- AI Vault

Flag any references to these entities without the "AI" prefix, in both singular and plural forms. For example:
- "model" or "models" → "AI Model" / "AI Models"
- "provider" or "providers" → "AI Provider" / "AI Providers"
- "policy" or "policies" → "AI Policy" / "AI Policies"
- "agent" or "agents" → "AI Agent" / "AI Agents"
- "consumer" or "consumers" → "AI Consumer" / "AI Consumers"
- "vault" → "AI Vault"

**Check the entire file including frontmatter** — FAQs, `related_resources` links, and all entity references in link text must use the full "AI" prefix (e.g., `[AI Policies](/ai-gateway/entities/ai-policy/)` not `[Policies](/ai-gateway/entities/ai-policy/)`).

### Links to unmigrated how-to guides

Not all v1 how-to guides have been migrated to v2. Before checking links, build a list of invalid v1 permalinks by reading every `.md` file under `app/_how-tos/ai-gateway/v1/` and extracting their `permalink:` frontmatter values.

Then, in the file being reviewed, flag any link whose URL appears in that list. These point to legacy v1 pages and should be removed or updated to point to the v2 equivalent if one exists.

### v1 release tracking (`app/_config/releases/ai-gateway/v1.yml`)

This file tracks every v1 page and whether a v2 equivalent has been written. Each entry looks like:

```yaml
app/_how-tos/ai-gateway/v1/some-guide.md:
status: pending # still needs a v2 equivalent
canonical_url: # should point to the v2 page once written
```

When a new v2 page is created, the corresponding v1 entry in this file must be updated:
- Remove `status: pending`
- Set `canonical_url` to the new v2 page's permalink

When reviewing a newly created v2 file, check whether its v1 counterpart exists in `v1.yml` and still has `status: pending`. If so, flag it: the reviewer should remove `status: pending` and set `canonical_url` to the new page's permalink.

When reviewing all files, read `app/_config/releases/ai-gateway/v1.yml` and report all entries that still have `status: pending` — these are v1 pages that have not yet been migrated.

---

## Reporting format

When producing a **report**, structure it like this for each file reviewed:

```
### <filepath>

**Frontmatter issues:**
- <issue description>

**Plugin → AI Policy issues:**
- <issue description>

**Include/data file references (including `{% include /plugins/` tags):**
- <issue description>

**Unmigrated how-to links:**
- <link> — not yet migrated, remove or update

**v1 release tracking (`v1.yml`):**
- <v1 file path> — still has `status: pending`, set `canonical_url` to <v2 permalink>

**On-prem references:**
- Line N: <quote> — flag for removal

**Entity naming:**
- <issue description>

**No issues found** (if clean)
```

For a **single-file edit**, after making changes, produce a brief summary of every change made.

For **all-files edit**, process files one at a time and produce a per-file summary at the end.
7 changes: 7 additions & 0 deletions .github/styles/base/Dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ ai_rate_limiting_policy
agentic
Agno
Agno's
AIGateway
Alertmanager
Alibaba
allow_terminated
Expand Down Expand Up @@ -427,6 +428,8 @@ kiali
Kibana
kibibytes
kic
kimi
Kimi
knative
Knative's
Knatives
Expand Down Expand Up @@ -488,6 +491,7 @@ M_Account
M_Link
M_Resource
maglev
major_version
managedfields
matchers
max_args
Expand Down Expand Up @@ -607,6 +611,7 @@ PDFs
pg_max_concurrent_queries
pgdump
pgvector
Pinecone
pipeline
pipelined
pipelines
Expand Down Expand Up @@ -918,6 +923,8 @@ Valkey
vendored
vararg
vc
vercel
Vercel
viewport
viewports
vllm
Expand Down
1 change: 1 addition & 0 deletions .github/styles/frontmatter/Dictionary.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
ai_gateway_enterprise
ai_gateway_url
graphql
hmac
how_to
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/automated-tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
env:
KONG_LICENSE_DATA: ${{ steps.getLicense.outputs.license }}
DEPLOYMENT_MODEL: on-prem
PRODUCTS: ai-gateway,gateway
PRODUCTS: gateway
GATEWAY_VERSION: ${{ matrix.gateway }}
run: |
DEBUG=tests:*,debug npm run run-tests
Expand Down
2 changes: 2 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--require spec_helper
--color
5 changes: 5 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ When writing UI steps, follow the formats in `docs/ui-steps-standards.md`.

When adding frontmatter `tags:`, follow the schema in `docs/update-tag-schema.md`.

## Prose style

- Don't use em dashes, en dashes, or dashes as sentence punctuation (e.g. "X — Y"). Rewrite as two sentences, or use a comma, colon, semicolon, or parentheses instead. (Hyphens in compound words like `well-known` or in code/YAML are fine.)
- Don't use positional language like "below" or "above" to refer to other content on the page (e.g. "the table below", "see above"). Content gets reordered, so these references go stale. Use "the following" for content that comes next, or just link/name the section (e.g. "see [Set up an AI Consumer](#set-up-an-ai-consumer)") instead of describing where it sits on the page.

## PR review standards

- Provide GitHub suggestions with actionable code, not vague feedback.
Expand Down
5 changes: 5 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,8 @@ end
group :jekyll_plugins do
gem 'jekyll-contentblocks'
end

group :test do
gem 'rspec'
gem 'capybara'
end
31 changes: 31 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,21 @@ GEM
bigdecimal (4.1.1)
byebug (13.0.0)
reline (>= 0.6.0)
capybara (3.40.0)
addressable
matrix
mini_mime (>= 0.1.3)
nokogiri (~> 1.11)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
coderay (1.1.3)
colorator (1.1.0)
concurrent-ruby (1.3.7)
connection_pool (2.5.5)
csv (3.3.5)
diff-lcs (1.6.2)
drb (2.2.3)
dry-cli (1.4.1)
em-websocket (0.5.3)
Expand Down Expand Up @@ -85,8 +95,10 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
logger (1.7.0)
matrix (0.4.3)
mercenary (0.4.0)
method_source (1.1.0)
mini_mime (1.1.5)
mini_portile2 (2.8.9)
minitest (5.26.2)
mutex_m (0.3.0)
Expand Down Expand Up @@ -115,6 +127,8 @@ GEM
rack (3.2.6)
rack-proxy (0.8.2)
rack
rack-test (2.2.0)
rack (>= 1.3)
rackup (0.2.3)
rack (>= 3.0.0.beta1)
webrick
Expand All @@ -128,6 +142,19 @@ GEM
io-console (~> 0.5)
rexml (3.4.2)
rouge (4.7.0)
rspec (3.13.1)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.5)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0)
rspec-support (3.13.6)
rubocop (1.87.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
Expand Down Expand Up @@ -162,6 +189,8 @@ GEM
rack-proxy (~> 0.6, >= 0.6.1)
zeitwerk (~> 2.2)
webrick (1.8.2)
xpath (3.2.0)
nokogiri (~> 1.8)
zeitwerk (2.8.2)

PLATFORMS
Expand All @@ -170,6 +199,7 @@ PLATFORMS
DEPENDENCIES
activesupport
byebug
capybara
csv
foreman
jekyll
Expand All @@ -185,6 +215,7 @@ DEPENDENCIES
pry
puma
rouge (~> 4.3)
rspec
rubocop
vite_ruby (~> 3.10)

Expand Down
Loading
Loading