enable a disabled filter by complete empty config or meaningless placeholder in the route
- 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
Assessment
This issue has not been assessed yet.