envoyproxy/envoy

envoy-1.23 issue ext_proc filter, ExtProcPerRoute override ExtProc with ExtensionWithMatcher

Open

#22,422 opened on Jul 27, 2022

View on GitHub
 (6 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/ext_procbughelp wantedinvestigate

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Description:

The following configuration was working in 1.22 while 1.23 seem to have issues: without ExtensionWithMatcher ExtProcPerRoute working just fine.

main plugin configuration:

          - name: composite
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.common.matching.v3.ExtensionWithMatcher
              extension_config:
                name: envoy.filters.http.ext_proc
                typed_config:
                  "@type": type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor
                  failure_mode_allow: false
                  processing_mode:
                    request_header_mode: "SKIP"
                    response_header_mode: "SKIP"
                    request_body_mode: "NONE"
                    response_body_mode: "NONE"
                    request_trailer_mode: "SKIP"
                    response_trailer_mode: "SKIP"
                  grpc_service:
                    envoy_grpc:
                      cluster_name: cluster
              xds_matcher:
                matcher_tree:
                  input:
                    name: response-header
                    typed_config:
                      "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseHeaderMatchInput
                      header_name: :status
                  exact_match_map:
                    map:
                      200:
                        action:
                          name: skip
                          typed_config:
                            "@type": type.googleapis.com/envoy.extensions.filters.common.matcher.action.v3.SkipFilter

with ExtProcPerRoute route override:

                typed_per_filter_config:
                  envoy.filters.http.ext_proc:
                    "@type": type.googleapis.com/envoy.extensions.filters.http.ext_proc.v3.ExtProcPerRoute
                    overrides:
                      processing_mode:
                        request_header_mode: "SEND"
                        response_header_mode: "SEND"
                        request_body_mode: "NONE"
                        response_body_mode: "NONE"
                        request_trailer_mode: "SKIP"
                        response_trailer_mode: "SKIP"

Contributor guide