diff --git a/Makefile.core.mk b/Makefile.core.mk index aa136c0fd6..02d1948c82 100644 --- a/Makefile.core.mk +++ b/Makefile.core.mk @@ -144,7 +144,7 @@ docker-buildx-push: clean-env docker.higress-buildx export PARENT_GIT_TAG:=$(shell cat VERSION) export PARENT_GIT_REVISION:=$(TAG) -export ENVOY_PACKAGE_URL_PATTERN?=https://github.com/higress-group/proxy/releases/download/v2.0.0/envoy-symbol-ARCH.tar.gz +export ENVOY_PACKAGE_URL_PATTERN?=https://github.com/higress-group/proxy/releases/download/v2.1.0/envoy-symbol-ARCH.tar.gz build-envoy: prebuild ./tools/hack/build-envoy.sh diff --git a/envoy/envoy b/envoy/envoy index e9302f5574..440fb1b0f3 160000 --- a/envoy/envoy +++ b/envoy/envoy @@ -1 +1 @@ -Subproject commit e9302f55742b53b617984cf25872c193357b6159 +Subproject commit 440fb1b0f31f06b9efa5506c9670fb7cae385fbf diff --git a/istio/istio b/istio/istio index 1dbd773596..d5fb26c534 160000 --- a/istio/istio +++ b/istio/istio @@ -1 +1 @@ -Subproject commit 1dbd77359624ab4af2953a4840927fbd7ea1d668 +Subproject commit d5fb26c5346bec1114dd6119bfef82ed01593881 diff --git a/istio/proxy b/istio/proxy index 2a5416fcfa..4e8eba8fc8 160000 --- a/istio/proxy +++ b/istio/proxy @@ -1 +1 @@ -Subproject commit 2a5416fcfafb302beb0ed4bc1435aab99c35a8a9 +Subproject commit 4e8eba8fc8c80a5a092bb16308dd6fafa1eb3859 diff --git a/pkg/ingress/config/ingress_config.go b/pkg/ingress/config/ingress_config.go index 6030ae50af..9f016903c1 100644 --- a/pkg/ingress/config/ingress_config.go +++ b/pkg/ingress/config/ingress_config.go @@ -906,6 +906,7 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext StructValue: rule.Config, } + validRule := false var matchItems []*_struct.Value // match ingress for _, ing := range rule.Ingress { @@ -916,6 +917,7 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext }) } if len(matchItems) > 0 { + validRule = true v.StructValue.Fields["_match_route_"] = &_struct.Value{ Kind: &_struct.Value_ListValue{ ListValue: &_struct.ListValue{ @@ -923,12 +925,9 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext }, }, } - ruleValues = append(ruleValues, &_struct.Value{ - Kind: v, - }) - continue } // match service + matchItems = nil for _, service := range rule.Service { matchItems = append(matchItems, &_struct.Value{ Kind: &_struct.Value_StringValue{ @@ -937,6 +936,7 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext }) } if len(matchItems) > 0 { + validRule = true v.StructValue.Fields["_match_service_"] = &_struct.Value{ Kind: &_struct.Value_ListValue{ ListValue: &_struct.ListValue{ @@ -944,12 +944,9 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext }, }, } - ruleValues = append(ruleValues, &_struct.Value{ - Kind: v, - }) - continue } // match domain + matchItems = nil for _, domain := range rule.Domain { matchItems = append(matchItems, &_struct.Value{ Kind: &_struct.Value_StringValue{ @@ -957,19 +954,23 @@ func (m *IngressConfig) convertIstioWasmPlugin(obj *higressext.WasmPlugin) (*ext }, }) } - if len(matchItems) == 0 { - return nil, fmt.Errorf("invalid match rule has no match condition, rule:%v", rule) - } - v.StructValue.Fields["_match_domain_"] = &_struct.Value{ - Kind: &_struct.Value_ListValue{ - ListValue: &_struct.ListValue{ - Values: matchItems, + if len(matchItems) > 0 { + validRule = true + v.StructValue.Fields["_match_domain_"] = &_struct.Value{ + Kind: &_struct.Value_ListValue{ + ListValue: &_struct.ListValue{ + Values: matchItems, + }, }, - }, + } + } + if validRule { + ruleValues = append(ruleValues, &_struct.Value{ + Kind: v, + }) + } else { + return nil, fmt.Errorf("invalid match rule has no match condition, rule:%v", rule) } - ruleValues = append(ruleValues, &_struct.Value{ - Kind: v, - }) } if len(ruleValues) > 0 { hasValidRule = true