目录

Dynamic Modules Examples

Envoy Version: v1.37.0

Since dynamic modules are tied with a specific Envoy version, this repository is based on the specific commit of Envoy. For examples for a specific Envoy version, please check out release/v<version> branches:

This repository hosts examples of dynamic modules for Envoy to extend its functionality. The high level documentation is available here. In short, a dynamic module is a shared library that can be loaded into Envoy at runtime to add custom functionality, for example, a new HTTP filter.

It is a new way to extend Envoy without the need to recompile it just like the existing mechanisms like Lua filters, Wasm filters, or External Processors.

Currently, this repository hosts two language implementations of dynamic modules: Rust and Go.

  • rust: using the official Rust dynamic module SDK.
  • go: using the official Go dynamic module SDK.

This repository serves as a reference for developers who want to create their own dynamic modules for Envoy including how to setup the project, how to build it, and how to test it, etc.

The tracking issue for dynamic modules in general is here where you can find more information about the current status and future plans as well as feature requests.

Development

# Run all unit tests
make test
# Build all dynamic modules
make build
# Run integration tests with Envoy via func-e (no local installation required)
make integration-test
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802032778号