gateway
gateway copied to clipboard
Support Additional External Processing Options
Description: Envoy Gateway allows an External Processing filter to be configured. However, only a BackendRef can be provided, and all other External Processing attributes are set to Envoy defaults.
End-users may need to configure additional options to create meaningful integrations with external processing services. The following options are important:
- Defining how bodies and headers (of both requests and responses) are being processed
- Which Dynamic Metadata namespaces are available and mutable for the external processor
- Which Envoy attributes are shared as context with the external processor
- Timeout settings
- FailOpen mode
- Supporting multiple BackendRefs
Below is an example of the API:
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: EnvoyExtensionPolicy
metadata:
name: ext-proc-policy
namespace: default
spec:
extProc:
- backendRef:
group: ""
kind: Service
name: myExtProc
port: 3000
processingMode:
request:
headers: Send
body: Buffered
response:
headers: Skip
body: Streamed
attributes:
request:
- xds.route_metadata
- connection.requested_server_name
response:
- request.path
metadataOptions:
forwardingNamespaces:
untyped:
- envoy.filters.http.ext_authz
receivingNamespaces:
untyped:
- envoy.filters.http.my_custom
messageTimeout: 5s
failOpen: true
targetRef:
group: gateway.networking.k8s.io
kind: Gateway
name: eg
namespace: default
Relevant Links:
- https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/ext_proc/v3/ext_proc.proto
This issue has been automatically marked as stale because it has not had activity in the last 30 days.
This issue has been automatically marked as stale because it has not had activity in the last 30 days.