envoyproxy / envoyproxy/envoy

enable a disabled filter by complete empty config or meaningless placeholder in the route

Open
#31,482 7 comments 1 reaction 0 assignees View on GitHub
area/router enhancement no stalebot
Dominant language
C++
Stars
28.9k
Forks
5.6k
Avg merge
1d 22h
Merged PRs (30d)
430

Description

Now, we can mark a filter in the HTTP filter chain as disabled by default and enable it by a valid route per filter config in the route/vh. See the following example. The filter `lua` will be disabled by default and be skipped when creating HTTP filter chain instance, except it's re-enabled by a valid route config in specific route. By this way, we can achieve the target of configuring route specific HTTP filter chain. Different route could have different HTTP filter chain.

```
http_filters:
- name: buffer
typed_config: { ... }
disabled: true
- name: lua
typed_config: { ... }
disabled: true

typed_per_filter_config:
lua:
"@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.LuaPerRoute
name: my_lua_script

```

However, there two special case that haven't been handled appropriately:
- A filter may have no a route level config definition but also wants this feature.
- A filter may just want to enable the filter but doesn't want to provide any route override config.

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.