-
Notifications
You must be signed in to change notification settings - Fork 690
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
Exploration: WASM in Contour #4276
Comments
cc @skriss if you have anything to change/add since you started investigating |
I like the outline, I added in a link to #1176, since that's the NACK issue. |
some other questions that might be worth considering
|
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
I think this issue is still not solved and custom request handling is one of the bigger missing features in my opinion |
I'd like to implement this |
Before we move toward implementing this we'll need a pretty thorough design doc to address the questions above, and probably a spike to go along with it we can play around given as an example If you would like to work on this let us know! |
Some summary for WASM support:
Below questions related: #1176
|
Great write-up! There is also some interesting discussion about various extension mechanisms in here envoyproxy/envoy#15152 which led to the addition of golang filter. One question came to my mind when it comes to invalid configuration: do we see difference when talking about e.g. Lua filters that individual user in a namespace would inject vs having WASM or Go extension that is configured by administrator as part of global config? Is NACK handling equally relevant for the latter case as well, or mostly just for the first case? BTW: one interesting use case for the extension could be integrating Web Application Firewall (WAF) like coraza, curiefense... |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
Users have often requested the ability to provide custom logic in handling (particularly HTTP requests/responses) as part of their ingress configuration. Lua scripting is a common request as it is a common pattern in proxies like nginx and Envoy supports it. We have so far been reticent to support these features because of the burden of validation, support work etc. that may fall on the Contour maintainers. WASM support in Envoy gives us another avenue/opportunity to fulfill similar use cases with a bit more boundaries that can guard against misuse and misconfiguration.
This issue is to track the explorations and work that may be required if Contour is to support user-configured WASM modules. From what we find here, we can possibly come up with a design for implementation or a detailed document why we may not pursue this feature.
In particular we would like to ensure we provide a good user experience, handle failures gracefully, and provide a solution that is operationally smooth.
There are a few things that we believe are prerequisites:
Some implementation questions to solve/investigate
Links:
The text was updated successfully, but these errors were encountered: