Add documentation about Wasm extension internals
- Dominant language
- C++
- Stars
- 28.9k
- Forks
- 5.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 437
Description
Given that Wasm extension mechanism seems more complex than standard built-in extensions, it is useful provide the dedicated documentation about Wasm extension internals for end-users and Envoy core developers.
This would include, for example,
- How Envoy is integrated with [Proxy-Wasm C++ Host](https://github.com/proxy-wasm/proxy-wasm-cpp-host)
- How runtimes interact with Envoy
- The Threading model
- How VMs are initialized and Wasm binaries are loaded
- Envoy specific implementation details
- How to provide Envoy specific ABI
- Considerations and limitations (e.g. memory consumptions, etc.)
- How to develop statically linked NullVm Wasm plugins
and could be based on https://github.com/proxy-wasm/spec/blob/master/docs/WebAssembly-in-Envoy.md
Related issues:
- https://github.com/envoyproxy/envoy/issues/9462
- https://github.com/envoyproxy/envoy/issues/4272
- https://github.com/envoyproxy/envoy/pull/15360
Contributor guide
Assessment
This issue has not been assessed yet.