From 793177d4a3d9085e89a048532b4f5181b142c25d Mon Sep 17 00:00:00 2001 From: Varun Nuthalapati Date: Wed, 15 Apr 2026 22:23:01 -0700 Subject: [PATCH] feat: add Lua filter to afterExtProcFilterPrefixes Allow Lua filters configured via EnvoyExtensionPolicy to run after the AI Gateway ext_proc filter, consistent with how Wasm filters are already handled. This enables users to leverage AIGW metadata (e.g. x-ai-eg-model header) in Lua scripts without resorting to EnvoyPatchPolicy workarounds. Fixes #1469 Signed-off-by: Varun Nuthalapati --- internal/extensionserver/post_translate_modify.go | 1 + internal/extensionserver/post_translate_modify_test.go | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/internal/extensionserver/post_translate_modify.go b/internal/extensionserver/post_translate_modify.go index 8faa99622a..26b3637112 100644 --- a/internal/extensionserver/post_translate_modify.go +++ b/internal/extensionserver/post_translate_modify.go @@ -797,6 +797,7 @@ outer: var afterExtProcFilterPrefixes = []string{ egv1a1.EnvoyFilterExtProc.String(), egv1a1.EnvoyFilterWasm.String(), + egv1a1.EnvoyFilterLua.String(), egv1a1.EnvoyFilterRBAC.String(), egv1a1.EnvoyFilterLocalRateLimit.String(), egv1a1.EnvoyFilterRateLimit.String(), diff --git a/internal/extensionserver/post_translate_modify_test.go b/internal/extensionserver/post_translate_modify_test.go index 28c6a2951a..00ea2c718d 100644 --- a/internal/extensionserver/post_translate_modify_test.go +++ b/internal/extensionserver/post_translate_modify_test.go @@ -76,6 +76,16 @@ func TestInsertAIGatewayExtProcFilter(t *testing.T) { expectedPosition: 1, expectedFilterCount: 4, }, + { + name: "insert before lua filter", + existingFilters: []*httpconnectionmanagerv3.HttpFilter{ + {Name: "envoy.filters.http.fault"}, + {Name: "envoy.filters.http.lua"}, + {Name: "envoy.filters.http.router"}, + }, + expectedPosition: 1, + expectedFilterCount: 4, + }, { name: "insert before rbac filter", existingFilters: []*httpconnectionmanagerv3.HttpFilter{