Skip to content

Commit 18cbd10

Browse files
authored
feat: release 1.6.1 warm-up and session-state feature (#68)
Signed-off-by: yutao04 <yutao04@corp.netease.com>
1 parent f870e92 commit 18cbd10

File tree

4 files changed

+25
-12
lines changed

4 files changed

+25
-12
lines changed

changelog/RoadMap 2023.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,9 @@
3636
* 支持插件市场能力
3737
* 支持Lua语言自定义插件接入插件市场
3838

39-
### v1.7.0(7层负载功能)
40-
* 支持网关向upstream传客户端IP
41-
* 支持请求重定向
42-
* 支持基于Cookie会话保持方式
39+
### v1.6.1(7层负载功能)
40+
> 已发布
4341
44-
### v1.8.0(功能增强)
45-
* 支持服务实例温暖上限
46-
* 支持客户端证书信息透传给服务端
47-
* 支持HTTPS双向认证
42+
* 支持网关向upstream传客户端IP
43+
* 支持服务温暖上线
44+
* 支持基于Cookie会话保持方式

changelog/announcing-v1.6.1.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### 描述
2+
本次更新是Hango正式版v1.6.1的发布。
3+
4+
本次新增了网关服务预热和会话保持功能的支持
5+
6+
### 新功能
7+
8+
- [支持服务预热](https://hango-io.github.io/user-guide/best-practices/traffic-manage/service-warmup/)
9+
10+
- [支持负载均衡网关会话保持](https://hango-io.github.io/user-guide/best-practices/traffic-manage/stateful-session/)
11+
12+
### 优化
13+
14+
- 优化前端插件选择框大小
15+
16+
- 优化前端服务和路由详情字体显示

install/helm/hango-gateway/charts/hango-gateway/templates/base/hango-gateway/hango-gateway-configmap.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -434,8 +434,8 @@ data:
434434
cert-data: ""
435435
key-data: ""
436436
watch-resource: false
437-
pluginmanager-template.json: '{"GatewayLabels":{"gw_cluster":"{{ .Values.gateway_cluster}}"},"Plugins":[{"enable":"true","inline":{"settings":{"decode_headers_to_state":[{"name":":path","rename":"x-envoy-origin-path"},{"name":":method","rename":"x-envoy-origin-method"},{"name":":authority","rename":"x-envoy-origin-host"}],"encode_headers_to_state":[{"name":":status","rename":"x-envoy-origin-status"}],"route_metadata_to_state":["proxy.filters.http.metadatahub"]}},"name":"proxy.filters.http.metadatahub"},{"enable":"true","name":"envoy.filters.http.fault"},{"enable":"true","inline":{"settings":{"ip_source_header":"x-real-v112-ip"}},"name":"proxy.filters.http.iprestriction"},{"enable":"true","inline":{"settings":{"stat_prefix":"http_local_rate_limiter"}},"name":"envoy.filters.http.local_ratelimit"},{"enable":"true","name":"proxy.filters.http.header_restriction"},{"enable":"true","name":"proxy.filters.http.ua_restriction"},{"enable":"true","name":"proxy.filters.http.referer_restriction"},{"enable":"true","name":"proxy.filters.http.staticdowngrade"},{"enable":"true","name":"proxy.filters.http.circuitbreaker"},{"enable":"true","inline":{"settings":{"apis_prefix":"envoy_local_cache","used_caches":[{"local":{}}]}},"name":"proxy.filters.http.local_cache"},{"enable":"false","name":"proxy.filters.http.waf"},{"enable":"true","name":"proxy.filters.http.detailed_stats"},{"enable":true,"name":"proxy.filters.http.rider","inline":{"settings":{"plugin":{"vm_config":{"package_path":"/usr/local/lib/rider/?/init.lua;/usr/local/lib/rider/?.lua;"},"code":{"local":{"filename":"/usr/local/lib/rider/plugins/uri-restriction.lua"}},"name":"uri-restriction","config":{}}}}}]}'
438-
plugin-support-config.json: '[{"gatewayKind":"NetworkProxy","name":"通用网关","plugins":[{"schema":"ianus-percent-limit","plugin":"envoy.filters.http.fault","display":false},{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit","display":true},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction","display":true},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction","display":true},{"schema":"referer-restriction","plugin":"proxy.filters.http.referer_restriction","display":true},{"schema":"header-restriction","plugin":"proxy.filters.http.header_restriction","display":true},{"schema":"response-header-rewrite","plugin":"proxy.filters.http.header_rewrite","display":true},{"schema":"local-cache","plugin":"proxy.filters.http.local_cache","display":true},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade","display":true},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker","display":true},{"schema":"waf","plugin":"proxy.filters.http.waf","display":true},{"schema":"uri-restriction","plugin":"proxy.filters.http.rider","display":true},{"schema":"","plugin":"proxy.filters.http.metadatahub","display":false},{"schema":"","plugin":"proxy.filters.http.detailed_stats","display":false},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder","display":false}]},{"gatewayKind":"KubernetesGateway","name":"Gateway","plugins":[{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit","display":true},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade","display":true},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker","display":true},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction","display":true},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction","display":true},{"schema":"waf","plugin":"proxy.filters.http.waf","display":true},{"schema":"","plugin":"proxy.filters.http.metadatahub","display":false},{"schema":"","plugin":"proxy.filters.http.detailed_stats","display":false},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder","display":false}]},{"gatewayKind":"ApiGateway","name":"API网关","plugins":[{"schema":"ianus-percent-limit","plugin":"envoy.filters.http.fault","display":false},{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit","display":true},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction","display":true},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction","display":true},{"schema":"referer-restriction","plugin":"proxy.filters.http.referer_restriction","display":true},{"schema":"header-restriction","plugin":"proxy.filters.http.header_restriction","display":true},{"schema":"response-header-rewrite","plugin":"proxy.filters.http.header_rewrite","display":true},{"schema":"local-cache","plugin":"proxy.filters.http.local_cache","display":true},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade","display":true},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker","display":true},{"schema":"","plugin":"proxy.filters.http.metadatahub","display":false},{"schema":"","plugin":"proxy.filters.http.detailed_stats","display":false},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder","display":false}]},{"gatewayKind":"Ingress","name":"Kubernetes Ingress","plugins":[{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit","display":true},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit","display":true},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit","display":true},{"schema":"ianus-router","plugin":"envoy.filters.http.fault","display":false},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade","display":true},{"schema":"dynamic-downgrade","plugin":"proxy.filters.http.dynamicdowngrade","display":true},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker","display":true},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction","display":true},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction","display":true},{"schema":"cors","plugin":"envoy.filters.http.cors","display":true},{"schema":"waf","plugin":"proxy.filters.http.waf","display":true},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite","display":true},{"schema":"transformer","plugin":"proxy.filters.http.transformation","display":true},{"schema":"jwt-auth","plugin":"envoy.filters.http.jwt_authn","display":true},{"schema":"oauth2-auth","plugin":"proxy.filters.http.super_authz","display":true},{"schema":"resty","plugin":"proxy.filters.http.rider","display":true},{"schema":"","plugin":"proxy.filters.http.metadatahub","display":false},{"schema":"","plugin":"proxy.filters.http.detailed_stats","display":false},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder","display":false},{"schema":"","plugin":"envoy.filters.http.fault","display":false}]}]'
437+
pluginmanager-template.json: '{"GatewayLabels":{"gw_cluster":"{{ .Values.gateway_cluster}}"},"Plugins":[{"enable":"true","inline":{"settings":{"decode_headers_to_state":[{"name":":path","rename":"x-envoy-origin-path"},{"name":":method","rename":"x-envoy-origin-method"},{"name":":authority","rename":"x-envoy-origin-host"}],"encode_headers_to_state":[{"name":":status","rename":"x-envoy-origin-status"}],"route_metadata_to_state":["proxy.filters.http.metadatahub"]}},"name":"proxy.filters.http.metadatahub"},{"enable":"true","name":"envoy.filters.http.fault"},{"enable":"true","inline":{"settings":{"ip_source_header":"x-real-v112-ip"}},"name":"proxy.filters.http.iprestriction"},{"enable":"true","inline":{"settings":{"stat_prefix":"http_local_rate_limiter"}},"name":"envoy.filters.http.local_ratelimit"},{"enable":"true","name":"proxy.filters.http.header_restriction"},{"enable":"true","name":"proxy.filters.http.ua_restriction"},{"enable":"true","name":"proxy.filters.http.referer_restriction"},{"enable":"true","name":"proxy.filters.http.staticdowngrade"},{"enable":"true","name":"proxy.filters.http.circuitbreaker"},{"enable":"true","inline":{"settings":{"apis_prefix":"envoy_local_cache","used_caches":[{"local":{}}]}},"name":"proxy.filters.http.local_cache"},{"enable":"false","name":"proxy.filters.http.waf"},{"enable":"true","name":"proxy.filters.http.detailed_stats"},{"enable":"true","name":"envoy.filters.http.stateful_session"},{"enable":true,"name":"proxy.filters.http.rider","inline":{"settings":{"plugin":{"vm_config":{"package_path":"/usr/local/lib/rider/?/init.lua;/usr/local/lib/rider/?.lua;"},"code":{"local":{"filename":"/usr/local/lib/rider/plugins/uri-restriction.lua"}},"name":"uri-restriction","config":{}}}}}]}'
438+
plugin-support-config.json: '[{"gatewayKind":"NetworkProxy","name":"通用网关","plugins":[{"schema":"ianus-percent-limit","plugin":"envoy.filters.http.fault"},{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit"},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"ianus-router","plugin":""},{"schema":"static-response","plugin":"proxy.filters.http.static_response"},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction"},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction"},{"schema":"referer-restriction","plugin":"proxy.filters.http.referer_restriction"},{"schema":"header-restriction","plugin":"proxy.filters.http.header_restriction"},{"schema":"cors","plugin":"envoy.filters.http.cors"},{"schema":"jsonp","plugin":"proxy.filters.http.jsonpfilter"},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite"},{"schema":"transformer","plugin":"proxy.filters.http.transformation"},{"schema":"request-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"response-header-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"local-cache","plugin":"proxy.filters.http.local_cache"},{"schema":"redis-cache","plugin":"proxy.filters.http.redis_cache"},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade"},{"schema":"dynamic-downgrade","plugin":"proxy.filters.http.dynamicdowngrade"},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker"},{"schema":"jwt-auth","plugin":"envoy.filters.http.jwt_authn"},{"schema":"oauth2-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"sign-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"basic-rbac","plugin":"envoy.filters.http.rbac"},{"schema":"waf","plugin":"proxy.filters.http.waf"},{"schema":"resty","plugin":"proxy.filters.http.rider"},{"schema":"","plugin":"proxy.filters.http.traffic_mark"},{"schema":"parameters-validate","plugin":"proxy.filters.http.parameter_validate"},{"schema":"simple-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"request-body-rewrite","plugin":"proxy.filters.http.request_body_transformation"},{"schema":"response-body-rewrite","plugin":"proxy.filters.http.response_body_transformation"},{"schema":"third-part-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"}]},{"gatewayKind":"ApiGateway","name":"API网关","plugins":[{"schema":"ianus-percent-limit","plugin":"envoy.filters.http.fault"},{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit"},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"ianus-router","plugin":""},{"schema":"static-response","plugin":"proxy.filters.http.static_response"},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction"},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction"},{"schema":"referer-restriction","plugin":"proxy.filters.http.referer_restriction"},{"schema":"header-restriction","plugin":"proxy.filters.http.header_restriction"},{"schema":"cors","plugin":"envoy.filters.http.cors"},{"schema":"jsonp","plugin":"proxy.filters.http.jsonpfilter"},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite"},{"schema":"transformer","plugin":"proxy.filters.http.transformation"},{"schema":"request-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"response-header-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"local-cache","plugin":"proxy.filters.http.local_cache"},{"schema":"redis-cache","plugin":"proxy.filters.http.redis_cache"},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade"},{"schema":"dynamic-downgrade","plugin":"proxy.filters.http.dynamicdowngrade"},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker"},{"schema":"jwt-auth","plugin":"envoy.filters.http.jwt_authn"},{"schema":"oauth2-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"sign-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"basic-rbac","plugin":"envoy.filters.http.rbac"},{"schema":"waf","plugin":"proxy.filters.http.waf"},{"schema":"","plugin":"msha"},{"schema":"","plugin":"proxy.filters.http.traffic_mark"},{"schema":"parameters-validate","plugin":"proxy.filters.http.parameter_validate"},{"schema":"simple-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"request-body-rewrite","plugin":"proxy.filters.http.request_body_transformation"},{"schema":"response-body-rewrite","plugin":"proxy.filters.http.response_body_transformation"},{"schema":"third-part-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"}]},{"gatewayKind":"LoadBalance","name":"负载均衡","plugins":[{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit"},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"ianus-router","plugin":""},{"schema":"static-response","plugin":"proxy.filters.http.static_response"},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction"},{"schema":"cors","plugin":"envoy.filters.http.cors"},{"schema":"waf","plugin":"proxy.filters.http.waf"},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite"},{"schema":"transformer","plugin":"proxy.filters.http.transformation"},{"schema":"request-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"},{"schema":"","plugin":"envoy.filters.http.stateful_session"}]},{"gatewayKind":"Ingress","name":"Kubernetes Ingress","plugins":[{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit"},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"ianus-router","plugin":""},{"schema":"static-response","plugin":"proxy.filters.http.static_response"},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade"},{"schema":"dynamic-downgrade","plugin":"proxy.filters.http.dynamicdowngrade"},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker"},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction"},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction"},{"schema":"cors","plugin":"envoy.filters.http.cors"},{"schema":"waf","plugin":"proxy.filters.http.waf"},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite"},{"schema":"transformer","plugin":"proxy.filters.http.transformation"},{"schema":"request-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"jwt-auth","plugin":"envoy.filters.http.jwt_authn"},{"schema":"oauth2-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"sign-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"}]},{"gatewayKind":"KubernetesGateway","name":"Gateway","plugins":[{"schema":"local-limiting","plugin":"envoy.filters.http.local_ratelimit"},{"schema":"rate-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"cluster-group-limiting","plugin":"envoy.filters.http.ratelimit"},{"schema":"ianus-router","plugin":""},{"schema":"static-response","plugin":"proxy.filters.http.static_response"},{"schema":"static-downgrade","plugin":"proxy.filters.http.staticdowngrade"},{"schema":"dynamic-downgrade","plugin":"proxy.filters.http.dynamicdowngrade"},{"schema":"circuit-breaker","plugin":"proxy.filters.http.circuitbreaker"},{"schema":"ip-restriction","plugin":"proxy.filters.http.iprestriction"},{"schema":"ua-restriction","plugin":"proxy.filters.http.ua_restriction"},{"schema":"cors","plugin":"envoy.filters.http.cors"},{"schema":"waf","plugin":"proxy.filters.http.waf"},{"schema":"rewrite","plugin":"proxy.filters.http.path_rewrite"},{"schema":"transformer","plugin":"proxy.filters.http.transformation"},{"schema":"request-rewrite","plugin":"proxy.filters.http.header_rewrite"},{"schema":"jwt-auth","plugin":"envoy.filters.http.jwt_authn"},{"schema":"oauth2-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"sign-auth","plugin":"proxy.filters.http.super_authz"},{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"}]},{"gatewayKind":"ServerlessGateway","name":"Serverless网关","plugins":[{"schema":"","plugin":"proxy.filters.http.metadatahub"},{"schema":"","plugin":"proxy.filters.http.detailed_stats"},{"schema":"","plugin":"proxy.filters.http.soapjsontranscoder"}]}]'
439439
---
440440
apiVersion: v1
441441
kind: ConfigMap

install/helm/hango-gateway/charts/hango-gateway/values.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ data_dir: /data
22
cluster_dns_domain: cluster.local
33

44
images:
5-
hango_apiplane_image: hangoio/api-plane:1.6.0
5+
hango_apiplane_image: hangoio/api-plane:1.6.1
66
hango_portal_image: hangoio/hango-portal:1.6.0
7-
hango_ui_image: docker.io/hangoio/hango-ui:v1.6.0-6b84bc94
7+
hango_ui_image: hangoio/hango-ui:v1.6.1-08432576
88
istiod_image: docker.io/slimeio/pilot:hango-1.6.0-rc1
99
slime_image: docker.io/slimeio/slime-bundle-hango:hango-v1.6.0
1010
hango_proxy_image: hangoio/envoy-proxy:hango-v1.6.0-rc1-b3c2851-unstripped

0 commit comments

Comments
 (0)