Custom plugins for Traefik are one of the most requested features going back to the early days of the project, starting with this issue, from back in 2017. Today, we will deep dive into WebAssembly support. By Emile Vauge.
The article then provides overview of:
- WASM overview
- Traefik + WASM
- Traefik + Coraza
Traefik already had an extension engine based on the Yaegi Go interpreter. It is extremely easy to set up and provides a powerful foundation for customizing Traefik. However, it requires writing plugins in Go, and some people could find this too restrictive. WebAssembly has gained huge popularity lately and provides exactly what is needed to build a perfect plugin engine: portable binaries, open standard, fast, multiple languages support, and multiple host environments. Traefik 3.0 adds full support of WASM plugins for middlewares and allows to run binary code compiled from many different languages like C, Rust, or JavaScript. Good read!
[Read More]