Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
55673d4
feat(gzip): add gzip configuration support and update default settings
Aias00 Sep 4, 2025
de8bf39
feat(readme): add gzip compression settings to parameters section
Aias00 Sep 4, 2025
508d01d
Implement code changes to enhance functionality and improve performance
Aias00 Sep 4, 2025
5b68ffb
feat(readme): add detailed configuration for Redis and Gzip settings
Aias00 Sep 4, 2025
6c5904a
feat(readme): add detailed configuration for Redis and Gzip settings
Aias00 Sep 4, 2025
693e00b
feat(readme): remove Redis readme
Aias00 Sep 4, 2025
a0f3430
feat(readme): update README to reflect Gzip compression settings and …
Aias00 Sep 4, 2025
e1a9f40
feat(readme): remove unused file
Aias00 Sep 4, 2025
313dc2f
debug
Aias00 Sep 4, 2025
ac36c91
debug
Aias00 Sep 4, 2025
fb3f7da
feat(gzip): enable Gzip compression in test cases
Aias00 Sep 4, 2025
93e576c
feat(gzip): disable Gzip in test cases for validation
Aias00 Sep 4, 2025
38793e0
feat(tests): enhance HttpRouteLimiter with timeout and readiness check
Aias00 Sep 4, 2025
1d890d8
feat(tests): reduce HTTP client timeout and implement context timeout…
Aias00 Sep 4, 2025
d8549d1
feat(tests): extend timeout in ParallelRunner to 5 minutes and adjust…
Aias00 Sep 4, 2025
8a1bdd8
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 5, 2025
4ed7fcc
feat(gzip): disable Gzip by default in configuration and tests
Aias00 Sep 5, 2025
bb5800a
Merge branch 'feat/default_gzip_on' of https://github.com/Aias00/higr…
Aias00 Sep 5, 2025
614762e
refactor(tests): simplify HTTP route readiness check and adjust Paral…
Aias00 Sep 5, 2025
f1d8a5e
fix: ensure idle connections are closed in HTTP client
Aias00 Sep 5, 2025
8a1c20a
feat(gzip): enable Gzip by default in NewDefaultGzip function
Aias00 Sep 5, 2025
2453f65
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 5, 2025
6c11cac
feat(helm): disable Gzip by default in install-dev target
Aias00 Sep 5, 2025
ec7002b
fix(helm): disable Gzip in install-dev-wasmplugin target
Aias00 Sep 6, 2025
5775bd1
fix(tests): adjust request limits and add timeouts to prevent test fa…
Aias00 Sep 6, 2025
d2e3a37
fix(tests): extend wait time and adjust request parameters for better…
Aias00 Sep 7, 2025
023c796
fix(tests): disable Gzip for rate limiting tests and extend wait time…
Aias00 Sep 7, 2025
3dd92cc
fix: correct HttpRouteLimiter test parameters and restore gzip disabl…
Aias00 Sep 7, 2025
f0429a1
fix: adjust HttpRouteLimiter test concurrency parameters
Aias00 Sep 7, 2025
9819563
fix: optimize HttpRouteLimiter test parameters and request timing
Aias00 Sep 7, 2025
5e4d29b
delete: remove conformance test logs and related setup files
Aias00 Sep 8, 2025
27238e1
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 8, 2025
4fb5a5e
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 8, 2025
a250e1f
fix: further optimize HttpRouteLimiter tests for CI stability
Aias00 Sep 8, 2025
8e211db
fix: optimize ConfigMapGzip tests for CI stability
Aias00 Sep 8, 2025
56597fa
fix: streamline ConfigMap Gzip and HTTPRoute limiter tests for improv…
Aias00 Sep 8, 2025
834df39
fix: enhance HTTPRoute limiter tests by disabling gzip compression fo…
Aias00 Sep 8, 2025
c4245a5
fix: improve gzip configuration verification in HttpRouteLimiter tests
Aias00 Sep 8, 2025
bb072e8
fix: disable parallel execution for ConfigMap and HttpRouteLimiter te…
Aias00 Sep 8, 2025
467b0bb
fix: enhance conformance tests by preserving original higress-config …
Aias00 Sep 9, 2025
6755219
refactor: streamline conformance tests by removing original config pr…
Aias00 Sep 9, 2025
6e82e56
fix: enhance logging and error handling in conformance tests
Aias00 Sep 9, 2025
5fafbc8
fix: update path in ConfigMap global envoy test for accurate configur…
Aias00 Sep 9, 2025
231036f
fix: enhance logging in ConfigMapGlobalEnvoy conformance test
Aias00 Sep 9, 2025
85d6de3
fix: add debugging capabilities to ConfigMapGlobalEnvoy conformance test
Aias00 Sep 9, 2025
ef49cdf
fix: update debug logging in ConfigMapGlobalEnvoy conformance test
Aias00 Sep 9, 2025
82318e6
fix: enhance ConfigMapGlobalEnvoy conformance test with backend servi…
Aias00 Sep 9, 2025
2c354df
fix: update ConfigMapGlobalEnvoy conformance test with enhanced confi…
Aias00 Sep 9, 2025
9e36755
Merge branch 'refs/heads/main' into feat/default_gzip_on
Aias00 Sep 9, 2025
db08e77
refactor: streamline logging and test execution in conformance tests
Aias00 Sep 9, 2025
6502639
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 10, 2025
8be5d17
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 11, 2025
85498b0
Merge branch 'main' into feat/default_gzip_on
Aias00 Sep 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions helm/core/README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Higress Core Helm Chart
Installs the core components of cloud-native gateway [Higress](http://higress.io/)
**Note:** It is highly recommended to install the whole package of Higress. Please visit https://higress.io/docs/user/quickstart/ for details.
# Higress Core Helm Chart

Installs the core components of cloud-native gateway [Higress](http://higress.io/)

**Note:** It is highly recommended to install the whole package of Higress. Please visit https://higress.io/docs/user/quickstart/ for details.
3 changes: 3 additions & 0 deletions helm/core/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,9 @@ data:
{{- if hasKey .Values "downstream" }}
{{- $_ := set $newData "downstream" .Values.downstream }}
{{- end }}
{{- if hasKey .Values "gzip" }}
{{- $_ := set $newData "gzip" .Values.gzip }}
{{- end }}
{{- if and (hasKey .Values "tracing") .Values.tracing.enable }}
{{- $_ := set $newData "tracing" .Values.tracing }}
{{- end }}
Expand Down
20 changes: 20 additions & 0 deletions helm/core/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -732,6 +732,26 @@ upstream:
idleTimeout: 10
connectionBufferLimits: 10485760

# -- Gzip compression settings
gzip:
enable: true
minContentLength: 1024
contentType:
- "text/html"
- "text/css"
- "text/plain"
- "text/xml"
- "application/json"
- "application/javascript"
- "application/xhtml+xml"
- "image/svg+xml"
disableOnEtagHeader: true
memoryLevel: 5
windowBits: 12
chunkSize: 4096
compressionLevel: "BEST_COMPRESSION"
compressionStrategy: "DEFAULT_STRATEGY"

redis:
redis:
name: redis-stack-server
Expand Down
1 change: 1 addition & 0 deletions helm/higress/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ The command removes all the Kubernetes components associated with the chart and
| global.useMCP | bool | `false` | Use the Mesh Control Protocol (MCP) for configuring Istiod. Requires an MCP source. |
| global.watchNamespace | string | `""` | If not empty, Higress Controller will only watch resources in the specified namespace. When isolating different business systems using K8s namespace, if each namespace requires a standalone gateway instance, this parameter can be used to confine the Ingress watching of Higress within the given namespace. |
| global.xdsMaxRecvMsgSize | string | `"104857600"` | |
| gzip | object | `{"chunkSize":4096,"compressionLevel":"BEST_COMPRESSION","compressionStrategy":"DEFAULT_STRATEGY","contentType":["text/html","text/css","text/plain","text/xml","application/json","application/javascript","application/xhtml+xml","image/svg+xml"],"disableOnEtagHeader":true,"enable":true,"memoryLevel":5,"minContentLength":1024,"windowBits":12}` | Gzip compression settings |
| hub | string | `"higress-registry.cn-hangzhou.cr.aliyuncs.com/higress"` | |
| meshConfig | object | `{"enablePrometheusMerge":true,"rootNamespace":null,"trustDomain":"cluster.local"}` | meshConfig defines runtime configuration of components, including Istiod and istio-agent behavior See https://istio.io/docs/reference/config/istio.mesh.v1alpha1/ for all available options |
| meshConfig.rootNamespace | string | `nil` | The namespace to treat as the administrative root namespace for Istio configuration. When processing a leaf namespace Istio will search for declarations in that namespace first and if none are found it will search in the root namespace. Any matching declaration found in the root namespace is processed as if it were declared in the leaf namespace. |
Expand Down
2 changes: 1 addition & 1 deletion pkg/ingress/kube/configmap/gzip.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func deepCopyGzip(gzip *Gzip) (*Gzip, error) {

func NewDefaultGzip() *Gzip {
gzip := &Gzip{
Enable: false,
Enable: true,
MinContentLength: 1024,
ContentType: []string{"text/html", "text/css", "text/plain", "text/xml", "application/json", "application/javascript", "application/xhtml+xml", "image/svg+xml"},
DisableOnEtagHeader: true,
Expand Down
7 changes: 4 additions & 3 deletions pkg/ingress/kube/configmap/gzip_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@ package configmap
import (
"errors"
"fmt"
"github.com/alibaba/higress/pkg/ingress/kube/util"
"testing"

"github.com/alibaba/higress/pkg/ingress/kube/util"

"github.com/stretchr/testify/assert"
)

Expand Down Expand Up @@ -375,7 +376,7 @@ func TestGzipController_AddOrUpdateHigressConfig(t *testing.T) {
new: &HigressConfig{
Gzip: &Gzip{
Enable: true,
MinContentLength: 1024,
MinContentLength: 2048, // Changed from 1024 to make it different from default
ContentType: []string{"text/html", "text/css", "text/plain", "text/xml", "application/json", "application/javascript", "application/xhtml+xml", "image/svg+xml"},
DisableOnEtagHeader: true,
MemoryLevel: 5,
Expand All @@ -389,7 +390,7 @@ func TestGzipController_AddOrUpdateHigressConfig(t *testing.T) {
wantEventPush: "push",
wantGzip: &Gzip{
Enable: true,
MinContentLength: 1024,
MinContentLength: 2048, // Changed from 1024 to make it different from default
ContentType: []string{"text/html", "text/css", "text/plain", "text/xml", "application/json", "application/javascript", "application/xhtml+xml", "image/svg+xml"},
DisableOnEtagHeader: true,
MemoryLevel: 5,
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/conformance/tests/configmap-global.go
Original file line number Diff line number Diff line change
Expand Up @@ -1077,4 +1077,4 @@ var ConfigMapGlobalEnvoy = suite.ConformanceTest{
}
})
},
}
}
21 changes: 4 additions & 17 deletions test/e2e/conformance/tests/configmap-gzip.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,25 +73,12 @@ var testCases = []struct {
},
},
envoyAssertion: envoy.Assertion{
Path: "configs.#.dynamic_listeners.#.active_state.listener.filter_chains",
Path: "configs.#.dynamic_listeners.#.active_state.listener.filter_chains.#.filters.#.typed_config.http_filters",
TargetNamespace: "higress-system",
CheckType: envoy.CheckTypeNotExist,
ExpectEnvoyConfig: map[string]interface{}{
"memory_level": 5,
"compression_level": "COMPRESSION_LEVEL_9",
"window_bits": 12,
"min_content_length": 1024,
"disable_on_etag_header": true,
"content_type": []interface{}{
"text/html",
"text/css",
"text/plain",
"text/xml",
"application/json",
"application/javascript",
"application/xhtml+xml",
"image/svg+xml",
},
"name": "envoy.filters.http.gzip",
"@type": "type.googleapis.com/envoy.extensions.filters.http.gzip.v3.Gzip",
},
},
},
Expand Down Expand Up @@ -323,4 +310,4 @@ var ConfigMapGzipEnvoy = suite.ConformanceTest{
}
})
},
}
}
Loading