-
Notifications
You must be signed in to change notification settings - Fork 709
Closed
Labels
Description
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: defaultRelevant Links:
Reactions are currently unavailable