File tree 5 files changed +52
-2
lines changed
5 files changed +52
-2
lines changed Original file line number Diff line number Diff line change @@ -599,8 +599,15 @@ spec:
599
599
format : string
600
600
type : string
601
601
regex :
602
+ description : RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)
602
603
format : string
603
604
type : string
605
+ sourceLabels :
606
+ description : Applicable only when the 'mesh' gateway is included in the service.gateways list
607
+ type : object
608
+ additionalProperties :
609
+ format : string
610
+ type : string
604
611
metrics :
605
612
description : Metric check list for this canary
606
613
type : array
Original file line number Diff line number Diff line change @@ -599,8 +599,15 @@ spec:
599
599
format : string
600
600
type : string
601
601
regex :
602
+ description : RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)
602
603
format : string
603
604
type : string
605
+ sourceLabels :
606
+ description : Applicable only when the 'mesh' gateway is included in the service.gateways list
607
+ type : object
608
+ additionalProperties :
609
+ format : string
610
+ type : string
604
611
metrics :
605
612
description : Metric check list for this canary
606
613
type : array
Original file line number Diff line number Diff line change @@ -159,6 +159,34 @@ And the time it takes for a canary to be rollback when the metrics or webhook ch
159
159
interval * threshold
160
160
```
161
161
162
+ Istio example:
163
+
164
+ ``` yaml
165
+ analysis :
166
+ interval : 1m
167
+ threshold : 10
168
+ iterations : 2
169
+ match :
170
+ - headers :
171
+ x-canary :
172
+ exact : " insider"
173
+ - headers :
174
+ cookie :
175
+ regex : " ^(.*?;)?(canary=always)(;.*)?$"
176
+ - sourceLabels :
177
+ app.kubernetes.io/name : " scheduler"
178
+ ` ` `
179
+
180
+ The header keys must be lowercase and use hyphen as the separator.
181
+ Header values are case-sensitive and formatted as follows:
182
+ - ` exact: "value"` for exact string match
183
+ - `prefix : " value" ` for prefix-based match
184
+ - ` suffix: "value"` for suffix-based match
185
+ - `regex : " value" ` for [RE2](https://github.com/google/re2/wiki/Syntax) style regex-based match
186
+
187
+ Note that the ` sourceLabels` match conditions are applicable only when the `mesh` gateway
188
+ is included in the `canary.service.gateways` list.
189
+
162
190
App Mesh example :
163
191
164
192
` ` ` yaml
@@ -205,7 +233,8 @@ NGINX example:
205
233
exact: "canary"
206
234
` ` `
207
235
208
- Note that the NGINX ingress controller supports only exact matching for a single header and the cookie value is set to ` always`.
236
+ Note that the NGINX ingress controller supports only exact matching for cookies names where the value must be set to `always`.
237
+ Starting with NGINX ingress v0.31, regex matching is supported for header values.
209
238
210
239
The above configurations will route users with the x-canary header or canary cookie to the canary instance during analysis :
211
240
Original file line number Diff line number Diff line change @@ -599,8 +599,15 @@ spec:
599
599
format : string
600
600
type : string
601
601
regex :
602
+ description : RE2 style regex-based match (https://github.com/google/re2/wiki/Syntax)
602
603
format : string
603
604
type : string
605
+ sourceLabels :
606
+ description : Applicable only when the 'mesh' gateway is included in the service.gateways list
607
+ type : object
608
+ additionalProperties :
609
+ format : string
610
+ type : string
604
611
metrics :
605
612
description : Metric check list for this canary
606
613
type : array
Original file line number Diff line number Diff line change 2
2
3
3
set -o errexit
4
4
5
- ISTIO_VER=" 1.5.2 "
5
+ ISTIO_VER=" 1.5.4 "
6
6
REPO_ROOT=$( git rev-parse --show-toplevel)
7
7
8
8
echo " >>> Downloading Istio ${ISTIO_VER} "
You can’t perform that action at this time.
0 commit comments