gateway
gateway copied to clipboard
WASM injection using OCI image
Hi guys, we have been following this project closely because it overlaps with some of the use cases Kuadrant solves using Istio, but we feel we can also extend support with Envoy Gateway as well, given there is a way to inject WebAssembly modules from an image registry.
Currently, we use WasmPlugin resource from Istio, but I think it would be very beneficial to allow something similar to increase the extensibility of Envoy Gateway project.
hi @rahulanand16nov are you referring to extending data plane/Envoy using WASM or control plane (Envoy Gateway using WASM, raised https://github.com/envoyproxy/gateway/issues/20 to track this) using WASM ?
@arkodg I referred to proxy level extensibility through a CRD provided by the control plane or something similar.
There is already a way of extending the data plane/Envoy using WASM (filter and singleton service), but that works only when you're manually configuring it or a control plane provides a CRD to configure that for you (Istio provides WasmPlugin as linked above). I believe Envoy Gateway's control plane can also offer a similar CRD to inject WASM modules but through an OCI image.
In Envoy, you can either specify the local path or remote URI for the .wasm file. Istio's WasmPlugin extends fetching from the image registry by deploying a local cache in the control plane referring to that cache as a local file, which will be very beneficial for the Envoy Gateway project users.
Similar Istio implementation: https://github.com/istio/istio/pull/33374
@rahulanand16nov thanks for the additional context. I have set this issue to the backlog as the upcoming v0.2.0 will focus on core gateway/ingress functionality. This could be a feature that's considered for a follow-on release. See https://github.com/envoyproxy/gateway/issues/11#issuecomment-1126340096 for additional details. Is this a feature that you're willing to contribute in the future?
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.
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.
/assign @danehans, I would like to implement this feature for a long-term. I started working on WASM on envoy 2 years ago.
@Xunzhuo thanks for picking this issue up. I assigned the issue to you and included it in the v0.3.0-rc.1 milestone. I suggest starting off with a high-level design doc. You can use the system design doc as a reference.
I prefer if we first implemented https://github.com/envoyproxy/gateway/issues/24 and allowed the users to directly configure xDS, understand the shortcomings for WASM injection and then tackle this issue.
@Xunzhuo thoughts on you assisting with #24 first?
Sorry, I missed these comments, yes, this should be after #24.
I will still assign myself to this, this is not in v0.3.0, but in my schedule in the next releases.
This issue has been automatically marked as stale because it has not had activity in the last 30 days.
This issue has been automatically marked as stale because it has not had activity in the last 30 days.
closing in favor of https://github.com/envoyproxy/gateway/issues/2025