Compare commits

...

8 Commits

Author SHA1 Message Date
Istio Automation eb56b2cffc
Automator: update common-files@release-1.23 in istio/api@release-1.23 (#3326) 2024-10-07 11:04:25 -04:00
Istio Automation ba126bb830
clarify documentation around stringMatch and case-sensitivity (#3305)
Signed-off-by: Ian Rudie <ian.rudie@solo.io>
Co-authored-by: Ian Rudie <ian.rudie@solo.io>
2024-09-06 11:06:29 -04:00
John Howard 978ac3b543
1.23: fix workload group regression (#3299)
Master PR https://github.com/istio/api/pull/3295
Fixes https://github.com/istio/istio/issues/52749
2024-08-21 09:55:24 -04:00
Istio Automation bd52965df9
Automator: update common-files@release-1.23 in istio/api@release-1.23 (#3297) 2024-08-20 14:15:25 -04:00
Istio Automation 2bb3b8eba0
Automator: update common-files@release-1.23 in istio/api@release-1.23 (#3292) 2024-08-08 13:18:52 -04:00
Istio Automation 2e7f0011cd
[release-1.23] fix: ServiceEntryStatus (#3281)
* update status to support 1 address per host rather than 1 address per service entry

Signed-off-by: ilrudie <ian.rudie@solo.io>

* release notes

Signed-off-by: ilrudie <ian.rudie@solo.io>

---------

Signed-off-by: ilrudie <ian.rudie@solo.io>
Co-authored-by: ilrudie <ian.rudie@solo.io>
2024-07-26 17:25:34 -04:00
Istio Automation 685739919a
Automator: update common-files@release-1.23 in istio/api@release-1.23 (#3268) 2024-07-17 10:33:18 -04:00
Sumit Vij 9ff6688e9a
[release-1.23] Automated branching step 4 (#3266) 2024-07-16 21:24:16 -04:00
17 changed files with 61 additions and 31 deletions

View File

@ -1,6 +1,6 @@
{
"name": "istio build-tools",
"image": "gcr.io/istio-testing/build-tools:master-3a1982fd09c72f345f85d394d5cce906b5484b76",
"image": "gcr.io/istio-testing/build-tools:release-1.23-d2ac9017a4c8dfb928bbfddd064833427afc0524",
"privileged": true,
"remoteEnv": {
"USE_GKE_GCLOUD_AUTH_PLUGIN": "True",

View File

@ -1,6 +1 @@
* @istio/technical-oversight-committee
/Makefile* @istio/wg-test-and-release-maintainers
/*.md @istio/wg-test-and-release-maintainers
/common/ @istio/wg-test-and-release-maintainers
/common-protos/ @istio/wg-test-and-release-maintainers
/scripts/ @istio/wg-test-and-release-maintainers
* @istio/release-managers-1-23

View File

@ -1 +1 @@
cbe0f69e442f6d1d19c702d931b39048abd833c2
037289f69e8291490f4c780762ecb07986d9998a

View File

@ -92,7 +92,7 @@ mirror-licenses: mod-download-go
@license-lint --mirror
TMP := $(shell mktemp -d -u)
UPDATE_BRANCH ?= "master"
UPDATE_BRANCH ?= "release-1.23"
BUILD_TOOLS_ORG ?= "istio"

View File

@ -75,7 +75,7 @@ fi
TOOLS_REGISTRY_PROVIDER=${TOOLS_REGISTRY_PROVIDER:-gcr.io}
PROJECT_ID=${PROJECT_ID:-istio-testing}
if [[ "${IMAGE_VERSION:-}" == "" ]]; then
IMAGE_VERSION=master-3a1982fd09c72f345f85d394d5cce906b5484b76
IMAGE_VERSION=release-1.23-d2ac9017a4c8dfb928bbfddd064833427afc0524
fi
if [[ "${IMAGE_NAME:-}" == "" ]]; then
IMAGE_NAME=build-tools

View File

@ -11895,8 +11895,6 @@ spec:
type: integer
type: object
x-kubernetes-validations:
- message: Address is required
rule: has(self.address) || has(self.network)
- message: UDS may not include ports
rule: '(has(self.address) && self.address.startsWith(''unix://''))
? !has(self.ports) : true'
@ -12093,8 +12091,6 @@ spec:
type: integer
type: object
x-kubernetes-validations:
- message: Address is required
rule: has(self.address) || has(self.network)
- message: UDS may not include ports
rule: '(has(self.address) && self.address.startsWith(''unix://''))
? !has(self.ports) : true'
@ -12291,8 +12287,6 @@ spec:
type: integer
type: object
x-kubernetes-validations:
- message: Address is required
rule: has(self.address) || has(self.network)
- message: UDS may not include ports
rule: '(has(self.address) && self.address.startsWith(''unix://''))
? !has(self.ports) : true'

View File

@ -658,8 +658,8 @@ type HTTPBody_Bytes = v1alpha3.HTTPBody_Bytes
type HTTPRewrite = v1alpha3.HTTPRewrite
type RegexRewrite = v1alpha3.RegexRewrite
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
// Describes how to match a given string in HTTP headers. `exact` and `prefix` matching is
// case-sensitive. `regex` matching supports case-insensitive matches.
type StringMatch = v1alpha3.StringMatch
// exact string match
@ -669,6 +669,8 @@ type StringMatch_Exact = v1alpha3.StringMatch_Exact
type StringMatch_Prefix = v1alpha3.StringMatch_Prefix
// [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
//
// Example: `(?i)^aaa$` can be used to case-insensitive match a string consisting of three a's.
type StringMatch_Regex = v1alpha3.StringMatch_Regex
// Describes the retry policy to use when a HTTP request fails. For

View File

@ -956,6 +956,8 @@ type ServiceEntryAddress struct {
// Value is the address (192.168.0.2)
Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
// Host is the name associated with this address
Host string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
}
func (x *ServiceEntryAddress) Reset() {
@ -997,6 +999,13 @@ func (x *ServiceEntryAddress) GetValue() string {
return ""
}
func (x *ServiceEntryAddress) GetHost() string {
if x != nil {
return x.Host
}
return ""
}
var File_networking_v1alpha3_service_entry_proto protoreflect.FileDescriptor
var file_networking_v1alpha3_service_entry_proto_rawDesc = []byte{
@ -1083,13 +1092,14 @@ var file_networking_v1alpha3_service_entry_proto_rawDesc = []byte{
0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x09, 0x61,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x2b, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76,
0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x3f, 0x0a, 0x13, 0x53, 0x65, 0x72, 0x76,
0x69, 0x63, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12,
0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74, 0x69, 0x6f, 0x2e, 0x69,
0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x33,
0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20,
0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x42, 0x22, 0x5a, 0x20, 0x69, 0x73, 0x74,
0x69, 0x6f, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72,
0x6b, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x33, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (

View File

@ -668,6 +668,17 @@ No
<td>
<p>Value is the address (192.168.0.2)</p>
</td>
<td>
No
</td>
</tr>
<tr id="ServiceEntryAddress-host">
<td><code>host</code></td>
<td><code>string</code></td>
<td>
<p>Host is the name associated with this address</p>
</td>
<td>
No

View File

@ -647,5 +647,8 @@ message ServiceEntryStatus {
message ServiceEntryAddress{
// Value is the address (192.168.0.2)
string value = 1;
// Host is the name associated with this address
string host = 2;
}

View File

@ -2554,8 +2554,8 @@ func (x *RegexRewrite) GetRewrite() string {
return ""
}
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
// Describes how to match a given string in HTTP headers. `exact` and `prefix` matching is
// case-sensitive. `regex` matching supports case-insensitive matches.
type StringMatch struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@ -2645,6 +2645,8 @@ type StringMatch_Prefix struct {
type StringMatch_Regex struct {
// [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
//
// Example: `(?i)^aaa$` can be used to case-insensitive match a string consisting of three a's.
Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

View File

@ -1947,8 +1947,8 @@ No
</section>
<h2 id="StringMatch">StringMatch</h2>
<section>
<p>Describes how to match a given string in HTTP headers. Match is
case-sensitive.</p>
<p>Describes how to match a given string in HTTP headers. <code>exact</code> and <code>prefix</code> matching is
case-sensitive. <code>regex</code> matching supports case-insensitive matches.</p>
<table class="message-fields">
<thead>
@ -1987,6 +1987,7 @@ No
<td><code>string (oneof)</code></td>
<td>
<p><a href="https://github.com/google/re2/wiki/Syntax">RE2 style regex-based match</a>.</p>
<p>Example: <code>(?i)^aaa$</code> can be used to case-insensitive match a string consisting of three a&rsquo;s.</p>
</td>
<td>

View File

@ -1240,8 +1240,8 @@ message RegexRewrite {
string rewrite = 2;
}
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
// Describes how to match a given string in HTTP headers. `exact` and `prefix` matching is
// case-sensitive. `regex` matching supports case-insensitive matches.
message StringMatch {
oneof match_type {
@ -1252,6 +1252,8 @@ message StringMatch {
string prefix = 2;
// [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
//
// Example: `(?i)^aaa$` can be used to case-insensitive match a string consisting of three a's.
string regex = 3;
}
}

View File

@ -127,6 +127,7 @@ type WorkloadGroup struct {
// should default to `default`. The workload identities (mTLS certificates) will be bootstrapped using the
// specified service account's token. Workload entries in this group will be in the same namespace as the
// workload group, and inherit the labels and annotations from the above `metadata` field.
// +protoc-gen-crd:validation:IgnoreSubValidation:["Address is required"]
Template *WorkloadEntry `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
// `ReadinessProbe` describes the configuration the user must provide for healthchecking on their workload.
// This configuration mirrors K8S in both syntax and logic for the most part.

View File

@ -109,6 +109,7 @@ message WorkloadGroup {
// should default to `default`. The workload identities (mTLS certificates) will be bootstrapped using the
// specified service account's token. Workload entries in this group will be in the same namespace as the
// workload group, and inherit the labels and annotations from the above `metadata` field.
// +protoc-gen-crd:validation:IgnoreSubValidation:["Address is required"]
WorkloadEntry template = 2 [(google.api.field_behavior) = REQUIRED];
// `ObjectMeta` describes metadata that will be attached to a `WorkloadEntry`.

View File

@ -658,8 +658,8 @@ type HTTPBody_Bytes = v1alpha3.HTTPBody_Bytes
type HTTPRewrite = v1alpha3.HTTPRewrite
type RegexRewrite = v1alpha3.RegexRewrite
// Describes how to match a given string in HTTP headers. Match is
// case-sensitive.
// Describes how to match a given string in HTTP headers. `exact` and `prefix` matching is
// case-sensitive. `regex` matching supports case-insensitive matches.
type StringMatch = v1alpha3.StringMatch
// exact string match
@ -669,6 +669,8 @@ type StringMatch_Exact = v1alpha3.StringMatch_Exact
type StringMatch_Prefix = v1alpha3.StringMatch_Prefix
// [RE2 style regex-based match](https://github.com/google/re2/wiki/Syntax).
//
// Example: `(?i)^aaa$` can be used to case-insensitive match a string consisting of three a's.
type StringMatch_Regex = v1alpha3.StringMatch_Regex
// Describes the retry policy to use when a HTTP request fails. For

View File

@ -0,0 +1,6 @@
apiVersion: release-notes/v2
kind: bug-fix
area: traffic-management
releaseNotes:
- |
**Fixed** ServiceEntryStatus Addresses field could not easily support assigning IPs to each host which lead to an undesired divergence in behavior between the new and old implementations for automatic allocation of IP addresses for SericeEntry. Added a "Host" field to the Address in order to support mapping allocated IP to a host.