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

per cluster HTTP filter config #34021

Open
wbpcode opened this issue May 8, 2024 · 5 comments
Open

per cluster HTTP filter config #34021

wbpcode opened this issue May 8, 2024 · 5 comments
Labels
area/configuration area/http_filter enhancement Feature requests. Not bugs or questions.

Comments

@wbpcode
Copy link
Member

wbpcode commented May 8, 2024

Title: per cluster HTTP filter config

Description:

Now the Envoy provide route/virtual host level HTTP filter config support. By this way, the same filter could behaves differently for different route or virtual host.

But in our scenarios, we may also want to support a service level filter. And the closest abstraction in the Envoy would be the per cluster HTTP filter config.

We can support this in our private fork. But also wonder if this a reasonable requirement for the community or if others may have similar requirement.

@wbpcode wbpcode added enhancement Feature requests. Not bugs or questions. triage Issue requires triage labels May 8, 2024
@wbpcode
Copy link
Member Author

wbpcode commented May 8, 2024

cc @mattklein123

cc @zhaohuabing for suggestion from envoy-gateway
cc @kyessenov for suggestion from istio

@phlax phlax added area/configuration area/http_filter and removed triage Issue requires triage labels May 8, 2024
@zhaohuabing
Copy link
Member

While per-cluster filter could be valuable, per-route filter seems sufficient for EG's current need. I'm not aware of any requirements for per-cluster filter in EG.

@wbpcode Could you provide some concrete examples of use cases where per-cluster would be essential? This would help others evaluate the necessity of this feature.

@kyessenov
Copy link
Contributor

From Istio, service doesn't correspond to an upstream cluster. From a general perspective, "upstream cluster" configs are notoriously low-level and don't map well to service ownership (e.g. VIP or domain name).

@wbpcode
Copy link
Member Author

wbpcode commented May 9, 2024

From Istio, service doesn't correspond to an upstream cluster. From a general perspective, "upstream cluster" configs are notoriously low-level and don't map well to service ownership (e.g. VIP or domain name).

Get it. I agree mesh needn't that. Esp considering that in most cases, the VH could be treat an abstraction of service (VIP, K8S server, domain...) in the mesh.

@wbpcode
Copy link
Member Author

wbpcode commented May 9, 2024

While per-cluster filter could be valuable, per-route filter seems sufficient for EG's current need. I'm not aware of any requirements for per-cluster filter in EG.

@wbpcode Could you provide some concrete examples of use cases where per-cluster would be essential? This would help others evaluate the necessity of this feature.

In our scenarios, we may want to use specific filter config for specific backend service. In the gateway scenario, the VH or routes cannot be mapped one-to-one to a backend service.
So, I am looking a new way to support the per-service-filter-config. Although in fact, the cluster couldn't be mapped one-to-one to a backend service. But I don't find a better way. orz.

Anyway, if the community is no interested in this, I will pend it up. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/configuration area/http_filter enhancement Feature requests. Not bugs or questions.
Projects
None yet
Development

No branches or pull requests

4 participants