-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Question: Including external libraries for cache filter plugins #9977
Comments
What we need to do is making cache plugins use the standard extension build mechanism. See https://github.com/envoyproxy/envoy/blob/master/source/extensions/extensions_build_config.bzl. This will allow HTTP cache extensions to be explicitly compiled in (along with their dependencies). |
Added this for SimpleHttpCache in #9974. |
#9974 is now merged, and you should be able to use the same approach for HazelCache. |
To be more specific: |
Thank you for the answers. Then I will import the external dependency via http_archive following the Feel free to close the issue. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted". Thank you for your contributions. |
I'm about to contribute a plugin for the new cache filter (#9878) but not sure about the appropriate way of including external libraries in Envoy convention.
Currently I include the shared library (of Hazelcast Cpp Client) in my workspace via
new_local_repository
in BUILD file. However, it has a size of about 10 MB and of course it's not desirable to add it to Envoy repo. What I observed from the current includes in the repo is,envoy_http_archive
andenvoy_cmake_external
(for a cmake project just as the one I use) rules are used and all the source code for a repository is compiled again during Envoy build, if I'm not wrong.However, this makes me confused since in this manner, plugin dependencies are going to be compiled even if the plugin (and/or cache) is not used. Is that actually expected? If not, what is the proper way of doing that? If so, is there a dependency currently included in the repo that similar to my case and I can follow the same procedure? I have also read the doc for external dependencies here but couldn't decide if including such a big dependency in the repo is acceptable or not.
The text was updated successfully, but these errors were encountered: