Skip to content

Commit

Permalink
feat: release 1.6.1 warm-up and session-state feature (#68)
Browse files Browse the repository at this point in the history
Signed-off-by: yutao04 <[email protected]>
  • Loading branch information
trickMin committed Dec 14, 2023
1 parent f870e92 commit 18cbd10
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 12 deletions.
13 changes: 5 additions & 8 deletions changelog/RoadMap 2023.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,9 @@
* 支持插件市场能力
* 支持Lua语言自定义插件接入插件市场

### v1.7.0(7层负载功能)
* 支持网关向upstream传客户端IP
* 支持请求重定向
* 支持基于Cookie会话保持方式
### v1.6.1(7层负载功能)
> 已发布
### v1.8.0(功能增强)
* 支持服务实例温暖上限
* 支持客户端证书信息透传给服务端
* 支持HTTPS双向认证
* 支持网关向upstream传客户端IP
* 支持服务温暖上线
* 支持基于Cookie会话保持方式
16 changes: 16 additions & 0 deletions changelog/announcing-v1.6.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
### 描述
本次更新是Hango正式版v1.6.1的发布。

本次新增了网关服务预热和会话保持功能的支持

### 新功能

- [支持服务预热](https://hango-io.github.io/user-guide/best-practices/traffic-manage/service-warmup/)

- [支持负载均衡网关会话保持](https://hango-io.github.io/user-guide/best-practices/traffic-manage/stateful-session/)

### 优化

- 优化前端插件选择框大小

- 优化前端服务和路由详情字体显示
Original file line number Diff line number Diff line change
Expand Up @@ -434,8 +434,8 @@ data:
cert-data: ""
key-data: ""
watch-resource: false
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":{}}}}}]}'
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}]}]'
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":{}}}}}]}'
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"}]}]'
---
apiVersion: v1
kind: ConfigMap
Expand Down
4 changes: 2 additions & 2 deletions install/helm/hango-gateway/charts/hango-gateway/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ data_dir: /data
cluster_dns_domain: cluster.local

images:
hango_apiplane_image: hangoio/api-plane:1.6.0
hango_apiplane_image: hangoio/api-plane:1.6.1
hango_portal_image: hangoio/hango-portal:1.6.0
hango_ui_image: docker.io/hangoio/hango-ui:v1.6.0-6b84bc94
hango_ui_image: hangoio/hango-ui:v1.6.1-08432576
istiod_image: docker.io/slimeio/pilot:hango-1.6.0-rc1
slime_image: docker.io/slimeio/slime-bundle-hango:hango-v1.6.0
hango_proxy_image: hangoio/envoy-proxy:hango-v1.6.0-rc1-b3c2851-unstripped
Expand Down

0 comments on commit 18cbd10

Please sign in to comment.