Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extension mechanism for HTTP filters based on dynamic loading #24230

Open
dmitriyilin opened this issue Nov 28, 2022 · 3 comments
Open

Extension mechanism for HTTP filters based on dynamic loading #24230

dmitriyilin opened this issue Nov 28, 2022 · 3 comments

Comments

@dmitriyilin
Copy link

dmitriyilin commented Nov 28, 2022

Envoy currently provides extension mechanisms based on WASM and Lua. Approach for GoLang is under discussion as well: #15152.

Taking into account that small footprint, high performance are essential for using Envoy as a sidecar and ongoing work on GoLang extension (#22573), it looks reasonable to work on support for extension mechanism based on dynamic loading as well. For example, for using Rust as the language for creating custom filters (#12155). Envoy already has support for dynamically loading opentracing libraries: #2252.

What's your opinion regarding introducing such an extension mechanism for HTTP filters?

@mattklein123
Copy link
Member

Dynamic loading is tracked here: #2053.

There is no objection to add this but someone needs to do the work.

I would like to see native Rust filter support but that is orthogonal IMO. Static linking for that would work fine also.

@dmitriyilin
Copy link
Author

Thanks for the link to the original dynamic loading issue!

Indeed, "support" for Rust in not tightly coupled. Added it just as one of the possible ways to start adoption of the language.

Can we leave this issue open? It's nice to keep a global goal of supporting various loadable Envoy modules during design, but can be handy to have smaller goal to make some progress.

@mattklein123
Copy link
Member

Sure that's fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants