Skip to content
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

Move out of Alpha for Wasm Http filter #36996

Open
botengyao opened this issue Nov 5, 2024 · 1 comment
Open

Move out of Alpha for Wasm Http filter #36996

botengyao opened this issue Nov 5, 2024 · 1 comment

Comments

@botengyao
Copy link
Member

botengyao commented Nov 5, 2024

The current HTTP Wasm filter is there around 4+ years. This issue is going to track and gather info until which state we think it is reasonable to move out of alpha to stable based on this extension policy. The key point here to change the status is we want it to be security covered for critical crash bugs and not the performance improvement. And I agree that we need more work to reach there and continuously support it. We already had some valuable discussion on Proxy-Wasm in #35420, here I want to focus on this specific filter.

The following items are a run from extension policy

  1. Does the extension have unbounded internal buffering? Does it participate in flow control via watermarking as needed?
    • It is managed by the wasm to isolate the environment.
  2. Does the extension have at least one deployment with live untrusted traffic for a period of time, N months?
    • Istio is using Wasm
    • Higress already had 40+ Wasms.
    • Many vendors already run them in prod environment.
  3. Does the extension rely on dependencies that meet our extension maturity model?
    As the dependencies, we need to setup the security release and governance. There is a tool that can calculate score, we should run that and see what it identifies. We have C++ and Rust SDKs, and we can treat them separately, to state that e.g., C++ and NullVM is stable as an incremental effort.
    • Proxy_wasm_cpp_host
    • Proxy_wasm_cpp_sdk
    • Com_google_cel_cpp
    • Proxy_wasm_rust_sdk
  4. Is the extension reasonable to audit by the Envoy security team?
    • Yes for the filter part.
  5. Is the extension free of obvious scary things, e.g. memcpy, does it have gnarly parsing code, etc?
    • No
  6. Does the extension have active CODEOWNERS who are willing to vouch for the robustness of the extension?
    • Yes.
  7. Is the extension absent a low coverage exception?

Different vendors could use this extension differently, as a first step we need to improve the current status of wasm at least to move out of alpha for the implementations.

I believe the filter itself is a shield of wasm/common + Proxy-Wasm host and SDKs and therefore is stable already IMHO. There's obviously a lot of history here, and I am new to this Wasm field and happy to contribute. The goal here is to create action items to reach consensus so that we can work towards it. Welcome feedback on any/all of the above points.

@mpwarres @martijneken @PiotrSikora @wbpcode @yanavlasov @kyessenov @keith @krajshiva, any thoughts?

@botengyao botengyao added the triage Issue requires triage label Nov 5, 2024
@kyessenov
Copy link
Contributor

kyessenov commented Nov 5, 2024

I'd add that documentation improvement is important for the Wasm filter since it has a difficult ramp-up both for the developers and the operators. And solving the distribution of the Wasm binary in some manner would help here - I believe Envoy Gateway uses HTTP fetch already even thought it is not quite stable (#29824, #33212)

@botengyao botengyao changed the title Move out of Alpha of Wasm Http filter Move out of Alpha for Wasm Http filter Nov 5, 2024
@KBaichoo KBaichoo added area/wasm and removed triage Issue requires triage labels Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants