Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Additional External Processing Options #3170

Open
guydc opened this issue Apr 10, 2024 · 2 comments
Open

Support Additional External Processing Options #3170

guydc opened this issue Apr 10, 2024 · 2 comments
Assignees
Labels
area/api API-related issues stale

Comments

@guydc
Copy link
Contributor

guydc commented Apr 10, 2024

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:

Copy link

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

@github-actions github-actions bot added the stale label May 10, 2024
@guydc guydc removed this from the v1.1.0-rc1 milestone Jun 4, 2024
@github-actions github-actions bot removed the stale label Jun 5, 2024
Copy link

github-actions bot commented Jul 5, 2024

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api API-related issues stale
Projects
None yet
Development

No branches or pull requests

1 participant