envoyproxy / envoyproxy/gateway

EnvoyPatchPolicy + Merged Gateways - docs perhaps need improvement ?

Open
#5,768 7 comments 2 reactions 0 assignees View on GitHub
stale triage
Dominant language
Go
Stars
3k
Forks
864
Avg merge
2d 2h
Merged PRs (30d)
140

Description

This came up when I was trying to find a way to [disable timeouts on `GRPCRoute` objects, to support long-lived GRPC streams](https://github.com/envoyproxy/gateway/issues/5446). `EnvoyPatchPolicy` objects offer a way to directly patch xDS resources, so they looked like a potential short-term solution until this feature is added in by Envoy Gateway.

However, in an environment with **merged** Gateways, this specific use case does not actually work with `EnvoyPatchPolicies`. This is because:

- To make a patch work for this use case, you'll need to point it at a `type.googleapis.com/envoy.config.route.v3.RouteConfiguration` xDS resource
- In an environment with merged Gateways, **listeners of the same protocol and port get grouped up together under one `RouteConfiguration`**
- As a result, if your environment has e.g. `10` Gateways, the `RouteConfiguration` xDS resource will only be created for the very first Gateway, and all others become `virtual_host` entries underneath it.
- As a result, in order to work,the `EnvoyPatchPolicy` needs to target a `RouteConfiguration` that in fact belongs to another `Gateway` object - which could change / get renamed / get deleted at any time.

Granted, `EnvoyPatchPolicy` comes with a set of caveats that the docs include, and its purpose as a temporary workaround-tool is well understood. I do still think it would be really great to have the docs updated to be more specific, especially if there are (more of?) such cases where the way Envoy Gateway is configured can make patches unusable.

Unfortunately I don't know the interiors of Envoy well enough to say whether that's the case. I'd be happy to update the docs on this specific scenario, but I feel like this area could use the eyes and 🧠 of someone more knowledgeable on the topic 😄

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.