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
Contributor

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
Contributor 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.

mattklein123 pushed a commit that referenced this issue Aug 6, 2024
Commit Message: dynamic_modules: adds initial object loading logic
Additional Description:
This is the very first commit of the dynamic loading feature discussed
among community
members. This is the effort to upstream the playground repository 
https://github.com/mathetake/envoy-dynamic-modules as an Envoy core
extension.
Series of commits will follow this little by little.

#2053, #24230, #32502

Risk Level: N/A (not compiled into the final build yet)
Testing: unit
Docs Changes: N/A
Release Notes: N/A 
Platform Specific Features: N/A
[Optional Runtime guard:]
[Optional Fixes #Issue] 
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API
Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]

---------

Signed-off-by: Takeshi Yoneda <[email protected]>
martinduke pushed a commit to martinduke/envoy that referenced this issue Aug 8, 2024
Commit Message: dynamic_modules: adds initial object loading logic
Additional Description:
This is the very first commit of the dynamic loading feature discussed
among community
members. This is the effort to upstream the playground repository
https://github.com/mathetake/envoy-dynamic-modules as an Envoy core
extension.
Series of commits will follow this little by little.

envoyproxy#2053, envoyproxy#24230, envoyproxy#32502

Risk Level: N/A (not compiled into the final build yet)
Testing: unit
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API
Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]

---------

Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: Martin Duke <[email protected]>
asingh-g pushed a commit to asingh-g/envoy that referenced this issue Aug 20, 2024
Commit Message: dynamic_modules: adds initial object loading logic
Additional Description:
This is the very first commit of the dynamic loading feature discussed
among community
members. This is the effort to upstream the playground repository
https://github.com/mathetake/envoy-dynamic-modules as an Envoy core
extension.
Series of commits will follow this little by little.

envoyproxy#2053, envoyproxy#24230, envoyproxy#32502

Risk Level: N/A (not compiled into the final build yet)
Testing: unit
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API
Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]

---------

Signed-off-by: Takeshi Yoneda <[email protected]>
Signed-off-by: asingh-g <[email protected]>
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