Using Wasm to develop Envoy Filters for supporting Yahoo Headers
summary
Built an Envoy Wasm filter that validates and generates Yahoo headers (rid, ra, rp, rs) using existing Yahoo C++ libraries and OpenSSL MD5, with a singleton VM pulling the rs secret from a local helper daemon (ingress util server) into Envoy shared data so worker VMs can read it. Stream filters seed rid from worker start time and perform rs signature validation or regeneration per request. Load test at 4k RPS on a 24‑worker pod shows p99 +0.5 ms, CPU +3% and memory +0.66 — functionality works and integrates without rebuilding Envoy.
AI-written summary · about
chapters (11)
- 0:00Start
- 5:19Wasm in Envoy
- 9:02What are Yahoo Headers?
- 12:43Design Goals & Challenges
- 15:03Architecture
- 16:32Secret Fetch Flow
- 17:12On Request Flow
- 18:26Envoy Configuration
- 19:22Demo
- 21:29Wasm Filter Metrics
- 22:00Performance Metrics
related talks
34mEnvoy, Filters and WebAssembly for Everyone!
33mDeveloping & Debugging WebAssembly Filters for Envoy
37mExtending Envoy with WebAssembly
32mExtending Envoy Using WebAssembly (Wasm)
26mTaking Envoy Beyond C++ with WebAssembly
05mExtending Envoy With WebAssembly
27mEnvoy - Overview and Update: Senior Envoy Maintainer
12mEnvoy Maintainer Q&A
