-
Notifications
You must be signed in to change notification settings - Fork 4
repo: Add READMEs #2
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Ryan Northey <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding this and some initial comments are added.
|
||
## Module Types | ||
|
||
Envoy supports three primary approaches for building extensions: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Envoy supports three primary approaches for building extensions: | |
Envoy supports three primary approaches for building dynamic extensions: |
Envoy supports three primary approaches for building extensions: | ||
|
||
### [Dynamic Modules](./dynamic/) | ||
Native extensions written in C++, Rust, or Go that are compiled as shared libraries and loaded dynamically at runtime. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Native extensions written in C++, Rust, or Go that are compiled as shared libraries and loaded dynamically at runtime. | |
Extensions written in C++, Rust, or Go that are compiled as shared libraries and loaded dynamically at runtime. |
AFAIK, the native
often be used to refer to the extensions that built in Envoy binary.
## Contributing | ||
|
||
Contributions are welcome! Please ensure your modules: | ||
- Follow Envoy's extension best practices |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the best practices?
@@ -0,0 +1,81 @@ | |||
# Dynamic Modules | |||
|
|||
Dynamic modules are native extensions for Envoy that are compiled as shared libraries and loaded at runtime. These modules can be written in C++, Rust, or Go. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
May be remove the native
? I am not very sure now. Because, in some way, the shared lib is native..., but it is different with our native extensions in the envoyproxy/envoy
.
## Supported Languages | ||
|
||
### C++ | ||
- Direct access to Envoy's C++ APIs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note, dynamic module couldn't access Envoy C++ API directly. The dynamic modules are build based a C API (https://github.com/envoyproxy/envoy/blob/main/source/extensions/dynamic_modules/abi.h) that exposed by the Envoy. It has very big difference with the actual C++ API that used by our actual native extension (Like https://github.com/envoyproxy/envoy/blob/main/envoy/http/filter.h)
hi @wbpcode i should have probably set this to WIP it was a bot generated first attempt now that you have reviewed tho - lets iterate - ill go through your review later today |
- filters: | ||
- name: envoy.filters.http.dynamic_module | ||
typed_config: | ||
"@type": type.googleapis.com/envoy.extensions.filters.http.dynamic_module.v3.DynamicModule |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"@type": type.googleapis.com/envoy.extensions.filters.http.dynamic_module.v3.DynamicModule | |
"@type": type.googleapis.com/envoy.extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter |
Is this the right type, from https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/filters/http/dynamic_modules/v3/dynamic_modules.proto#extensions-filters-http-dynamic-modules-v3-dynamicmodulefilter ?
No description provided.