Skip to main content

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-wasi target
  • 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.