envoy icon indicating copy to clipboard operation
envoy copied to clipboard

per cluster HTTP filter config

Open wbpcode opened this issue 1 year ago • 5 comments

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 avatar May 08 '24 07:05 wbpcode

cc @mattklein123

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

wbpcode avatar May 08 '24 07:05 wbpcode

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.

zhaohuabing avatar May 08 '24 23:05 zhaohuabing

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).

kyessenov avatar May 09 '24 00:05 kyessenov

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 avatar May 09 '24 02:05 wbpcode

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. :)

wbpcode avatar May 09 '24 02:05 wbpcode

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

github-actions[bot] avatar Jun 08 '24 04:06 github-actions[bot]

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.

github-actions[bot] avatar Jun 15 '24 04:06 github-actions[bot]