Skip to content

Comments

feat: decompressor support#8273

Draft
aburan28 wants to merge 3 commits intoenvoyproxy:mainfrom
aburan28:adam--decompress
Draft

feat: decompressor support#8273
aburan28 wants to merge 3 commits intoenvoyproxy:mainfrom
aburan28:adam--decompress

Conversation

@aburan28
Copy link
Contributor

What type of PR is this?

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Release Notes: Yes/No

@netlify
Copy link

netlify bot commented Feb 14, 2026

Deploy Preview for cerulean-figolla-1f9435 ready!

Name Link
🔨 Latest commit a8a2340
🔍 Latest deploy log https://app.netlify.com/projects/cerulean-figolla-1f9435/deploys/699893af873f79000844a03a
😎 Deploy Preview https://deploy-preview-8273--cerulean-figolla-1f9435.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@codecov
Copy link

codecov bot commented Feb 14, 2026

Codecov Report

❌ Patch coverage is 92.23301% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 73.68%. Comparing base (f884a6e) to head (a8a2340).

Files with missing lines Patch % Lines
internal/xds/translator/decompressor.go 90.90% 4 Missing and 4 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #8273      +/-   ##
==========================================
+ Coverage   73.64%   73.68%   +0.03%     
==========================================
  Files         242      243       +1     
  Lines       37007    37108     +101     
==========================================
+ Hits        27255    27343      +88     
- Misses       7831     7838       +7     
- Partials     1921     1927       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@arkodg arkodg added this to the v1.8.0-rc.1 Release milestone Feb 16, 2026
@arkodg arkodg requested a review from a team February 16, 2026 19:43
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these removed?

// DecompressorType defines the decompressor type to use for decompression.
//
// +required
Type DecompressorType `json:"type"`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add CEL validations for discriminated union type here

// +kubebuilder:validation:Enum=HTTP;TCP;GRPC
// +unionDiscriminator

@@ -141,6 +141,8 @@ func newOrderedHTTPFilter(filter *hcmv3.HttpFilter) *OrderedHTTPFilter {
order = 305
case isFilterType(filter, egv1a1.EnvoyFilterCredentialInjector):
order = 307
case isFilterType(filter, egv1a1.EnvoyFilterDecompressor):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to reconsider ordering, especially for response_direction_config

By default, decompressor runs on the response path. Wouldn't the response go through this path now?

upstream -> envoy cluster -> compressor -> decompressor -> envoy listener -> client

If so, the decompressor would decompress the payload that the compressor compressed.

Worth having an integration test with both filters enabled to verify

Signed-off-by: Adam Buran <aburan28@gmail.com>
Signed-off-by: Adam Buran <aburan28@gmail.com>
Signed-off-by: Adam Buran <aburan28@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants