Add SXG filter extension#17215
Conversation
|
Hi @cpapazian, welcome and thank you for your contribution. We will try to review your Pull Request as quickly as possible. In the meantime, please take a look at the contribution guidelines if you have not done so already. |
|
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to |
|
Introduces a new dependency - https://github.com/envoyproxy/envoy/blob/main/DEPENDENCY_POLICY.md#new-external-dependencies. OSSF Scorecard results: |
CODEOWNERS
Outdated
There was a problem hiding this comment.
Anyone from @envoyproxy/maintainers to sponsor?
efe689d to
a62798f
Compare
|
@twifkak is it possible to get libsxg to build with cmake 3.10? the arm build is running cmake 3.10.2 currently, and fails: running with the previous commit of libsxg (before we added the 3.13 requirement) we see: not really sure what to make of this. would be curious your thoughts ... |
|
@cpapazian Yep, I'll send a PR to update the minimum requirement to 3.1 (earliest I could test easily on my x86_64 laptop via https://cmake.org/files/) when RUN_TEST is off. It looks like the subsequent error can be fixed by adding the flags |
|
@cpapazian Merged google/libsxg#95 which hopefully fixes this (with tests to prevent regression). |
Filter to transform response to Signed HTTP Exchange (SXG) package using libsxg (https://github.com/google/libsxg). Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
per @rgs1 suggestion, add @alyssawilk to codeowners so that we can pass tests. Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
|
@yanavlasov I think this is ready for review. Let me know if there's anything else you need from me first. Thanks! cc @rgs1 |
|
per @rgs1, we now have a contrib directory (#17595). I can move this extension there, if that makes sense. let me know which you prefer, @yanavlasov |
|
@yanavlasov friendly ping on this. |
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Signed-off-by: Chris Papazian <papazian@pinterest.com>
|
@yanavlasov - per offline conversation with @rgs1, i went ahead and moved this over to contrib. |
|
@mattklein123 does this sound like a reasonable candidate for contrib/? We were initially targeting it as a regular filter, but contrib/ would be great for us so we can share the code with other parties and then possibly graduate out of contrib... Thanks! |
Sure! Is this ready to review? I can take a look and merge if so. |
Yeah, I think we're ready. @rgs1 has already taken a pass at review. Only question we had is what to do with the libsxg dependency now that the filter has moved to contrib. It wasn't obvious to me how to dis-entangle all of the external repo stuff in the builds, and I'm not sure we even want to. Thanks! |
mattklein123
left a comment
There was a problem hiding this comment.
Thanks I'm fine with this going in for contrib for now, with a few small doc comments.
Regarding the build dependencies being in core, in a perfect world we would figure out how to have them live with the contrib extension itself but I don't think we have a good pattern for that so I'm OK with this for now, especially since bazel will only build the dependency if it's actually used.
/wait
| * listener: new listener metric ``downstream_cx_transport_socket_connect_timeout`` to track transport socket timeouts. | ||
| * rbac: added :ref:`destination_port_range <envoy_v3_api_field_config.rbac.v3.Permission.destination_port_range>` for matching range of destination ports. | ||
| * route config: added :ref:`dynamic_metadata <envoy_v3_api_field_config.route.v3.RouteMatch.dynamic_metadata>` for routing based on dynamic metadata. | ||
| * sxg_filter: added filter to transform response to SXG package. This can be enabled by setting :ref:`SXG <envoy_v3_api_msg_extensions.filters.http.sxg.v3alpha.SXG>` configuration. |
There was a problem hiding this comment.
note this is available in contrib builds only with a ref link to the contrib docs.
| * :ref:`v3 API reference <envoy_v3_api_msg_extensions.filters.http.sxg.v3alpha.SXG>` | ||
| * This filter should be configured with the name *envoy.filters.http.sxg*. |
There was a problem hiding this comment.
Can you note this is in contrib builds only with a ref link to the contrib docs. If the squash filter docs don't have that can you fix that also? (I know I automated the other docs but I think for these manual docs it is probably missing.)
Signed-off-by: Chris Papazian <papazian@pinterest.com>
Commit Message: Add SXG filter extension
Additional Description: Filter to transform response to Signed HTTP Exchange (SXG) package using libsxg (https://github.com/google/libsxg). See: https://wicg.github.io/webpackage/draft-yasskin-httpbis-origin-signed-exchanges-impl.html
Risk Level: low, new filter
Testing: unit tests included, filter is based off version running in production for 4 months
Docs Changes: filter docs added
Release Notes: release notes included
Discussed previously in #9763