gateway icon indicating copy to clipboard operation
gateway copied to clipboard

WASM injection using OCI image

Open rahulanand16nov opened this issue 3 years ago • 5 comments

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.

rahulanand16nov avatar May 24 '22 07:05 rahulanand16nov

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 avatar May 24 '22 22:05 arkodg

@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 avatar May 25 '22 05:05 rahulanand16nov

@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?

danehans avatar Jun 08 '22 18:06 danehans

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 Jul 08 '22 20:07 github-actions[bot]

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 Aug 14 '22 16:08 github-actions[bot]

/assign @danehans, I would like to implement this feature for a long-term. I started working on WASM on envoy 2 years ago.

Xunzhuo avatar Oct 01 '22 15:10 Xunzhuo

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

danehans avatar Oct 01 '22 19:10 danehans

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.

arkodg avatar Oct 03 '22 16:10 arkodg

@Xunzhuo thoughts on you assisting with #24 first?

danehans avatar Oct 04 '22 00:10 danehans

Sorry, I missed these comments, yes, this should be after #24.

Xunzhuo avatar Oct 20 '22 02:10 Xunzhuo

I will still assign myself to this, this is not in v0.3.0, but in my schedule in the next releases.

Xunzhuo avatar Jan 11 '23 16:01 Xunzhuo

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

github-actions[bot] avatar Mar 16 '23 04:03 github-actions[bot]

This issue has been automatically marked as stale because it has not had activity in the last 30 days.

github-actions[bot] avatar Oct 15 '23 20:10 github-actions[bot]

closing in favor of https://github.com/envoyproxy/gateway/issues/2025

arkodg avatar Oct 20 '23 17:10 arkodg