envoyproxy / envoyproxy/envoy

Route Matching during filter dispatch

Open
#6,824 6 comments 2 reactions 0 assignees View on GitHub
area/http enhancement help wanted
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

At present envoy does not support route matching to selectively dispatch a filter.

Nginx/Apache support configs like the following
```yaml

AuthBasicProvider ldap
AuthLDAPURL ldap://127.0.0.1/dc=example,dc=com?uid?one
Require valid-user

```
This config uses the ldap filter only when a route is matched.
At present every filter must support an ad-hoc enable-disable flag.
This should be supported directly.

Options:
* Add [RouteMatch](https://github.com/envoyproxy/envoy/blob/2d5be1a8c2fc6fe4c84766c94ec40d8ae2a21de8/api/envoy/api/v2/route/route.proto#L322) to [HTTPFilter](https://github.com/envoyproxy/envoy/blob/2d5be1a8c2fc6fe4c84766c94ec40d8ae2a21de8/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L541)
* Standardize on request dynamic metadata key such as `filter_name.enabled`.
This metadata can then be added as part of a route. httpConnectionManager should check this value before dispatching.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.