Rust Plugin Development Patterns
Status
This guide is planned but not available yet.
Intended Outcome
This page will describe development patterns for building Keymate enforcement plugins in Rust, targeting WASM compilation for high-performance authorization enforcement in Istio and APISIX environments. Topics will include:
- Setting up a Rust development environment with the
proxy-wasm-rust-sdk - Implementing the proxy-wasm ABI callbacks (
on_http_request_headers,on_http_request_body,on_http_call_response) - Building and compiling to
wasm32-wasitarget - Header manipulation and HTTP dispatch patterns in Rust
- Testing WASM modules with the proxy-wasm test framework
- Comparing Rust and Go (TinyGo) plugin implementations for performance and developer experience
Current State
The current Keymate APISIX and Istio enforcement plugins use Go with TinyGo for WASM compilation, alongside native Lua implementations. The proxy-wasm specification supports Rust, C++, Go, and AssemblyScript as WASM source languages. Rust-based plugin development patterns are planned for organizations that prefer Rust's memory safety guarantees and performance characteristics.
Why This Page Is a Placeholder
This placeholder keeps the planned guide path visible without implying that the workflow is already supported.