envoyproxy/envoy

Add documentation about Wasm extension internals

Open

#15,361 opened on Mar 8, 2021

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/docsarea/wasmhelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

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
  • 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:

Contributor guide