Building idiomatic Envoy SDKs for Rust and Go
summary
Built production-ready Envoy SDKs for Rust and Go that compile to WebAssembly, choosing tinygo compiler for Go and a custom Rust SDK that enforces a no panic policy so panics don’t crash the proxy; demonstrates a working SMTP network filter (and LDAP work) that emits per-command metrics, supports unit tests via native builds and a fake-host test harness, and documents gaps: no stack unwinding/stack traces, string encoding pitfalls (use Bytestream), inability to close connections via proxy-wasm, and limited goroutine and GC support in tinygo.
AI-written summary · about
chapters (15)
- 0:00Start
- 0:20Agenda
- 1:04Goals
- 2:55WebAssembly in Envoy
- 3:37Why Rust?
- 4:34Why Envoy SDK for Rust ?
- 5:53Hello World Example
- 6:43Lessons learned
- 6:57Lesson #1
- 16:24Demo
- 24:13Why Go for proxy-wasm?
- 25:55Go SDK for Proxy-wasm
- 26:46Challenges
- 28:22What's next?
- 29:06Start WASM today
related talks
20mBringing the power of Envoy extensibility to Go and Rust developers
26mBeyond Wasm: How Dynamic Modules Let You Extend Envoy Proxy in Go, Rust, or…
52mEnable all your infrastructure’s power with Rust & Wasm
29mRust: Embedded, Async, All the Way
22mHigh(er) Reliability Software Patterns for Go
30mLightining Talks
33mThe What's, Why's, and How's of Running WebAssembly in Go
39mLightning Talks
