feat(extproc): add requestAttributes field to ExtProcProvider#14109
Merged
puertomontt merged 8 commits intoJun 24, 2026
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds support for configuring Envoy ext_proc request_attributes via the ExtProcProvider API and propagates it through to the generated Envoy filter config and CRD schema.
Changes:
- Introduces
requestAttributesonExtProcProvider(API + CRD schema). - Wires
RequestAttributesinto the ext_proc filter config builder when set.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| pkg/kgateway/extensions2/plugins/trafficpolicy/gateway_extension.go | Propagates configured request attributes into the constructed Envoy ext_proc filter. |
| api/v1alpha1/kgateway/ext_proc_types.go | Adds RequestAttributes to the public API type. |
| install/helm/kgateway-crds/templates/gateway.kgateway.dev_gatewayextensions.yaml | Extends the CRD OpenAPI schema to expose requestAttributes. |
Files not reviewed (1)
- api/v1alpha1/kgateway/zz_generated.deepcopy.go: Language not supported
Comment on lines
+72
to
+77
| // RequestAttributes specifies a list of Envoy attribute expressions whose values will be | ||
| // included in the ProcessingRequest.attributes map sent to the external processing server | ||
| // on every HTTP request. | ||
| // See: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto | ||
| // +optional | ||
| RequestAttributes []string `json:"requestAttributes,omitempty"` |
| See: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto | ||
| items: | ||
| type: string | ||
| type: array |
Adds RequestAttributes []string to ExtProcProvider, which maps to the request_attributes field on Envoy's ExternalProcessor filter. When set, Envoy populates the ProcessingRequest.attributes map with the specified attribute expressions on every HTTP request. This allows ext_proc servers that read connection-level Envoy attributes (e.g. source.address) to function correctly, without relying solely on HTTP headers. Regenerates CRD and deepcopy. Signed-off-by: David Grenier <[email protected]>
livegrenier
force-pushed
the
feat/ext-proc-request-attributes
branch
from
May 26, 2026 13:17
11ca815 to
f05eced
Compare
Contributor
|
can you add the field to pkg/kgateway/translator/gateway/testutils/inputs/traffic-policy/extproc-full-config.yaml |
Signed-off-by: Dave Grenier <[email protected]>
Signed-off-by: Dave Grenier <[email protected]>
Contributor
|
can you resolve the merge conflicts? |
puertomontt
approved these changes
Jun 23, 2026
…st-attributes Signed-off-by: David Grenier <[email protected]> # Conflicts: # api/v1alpha1/kgateway/ext_proc_types.go # api/v1alpha1/kgateway/zz_generated.deepcopy.go
andy-fong
approved these changes
Jun 23, 2026
puertomontt
enabled auto-merge
June 24, 2026 10:02
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Jun 24, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to failed status checks
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
RequestAttributes []stringtoExtProcProvider, which maps to therequest_attributesfield on Envoy'sExternalProcessorfilter. When set,Envoy populates
ProcessingRequest.attributeswith the specified attributeexpressions on every HTTP request.
This allows ext_proc servers that read connection-level Envoy attributes
(e.g.
source.address) to function correctly, without relying solely onHTTP headers. Regenerates CRD and deepcopy.
Description
Envoy's ext_proc filter supports a
request_attributesfield that causes itto populate
ProcessingRequest.attributeson every request. This is requiredfor ext_proc servers that need connection-level data (such as the TCP peer
address via
source.address) which is not available as an HTTP header.Change Type
/kind feature
Changelog