envoyproxy / envoyproxy/envoy

Add documentation about Wasm extension internals

Open
#15,361 2 comments 0 reactions 0 assignees View on GitHub
area/docs area/wasm help wanted
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.