From dafd0ee1f535efa33324614cd0a3b7fdddad8e74 Mon Sep 17 00:00:00 2001 From: Vladyslav Pedosyuk Date: Mon, 30 Dec 2024 23:56:22 +0200 Subject: [PATCH 1/2] Gateway API: add an annotation to control the 15021 status port in the generated Service --- annotation/annotations.gen.go | 15 ++++++++++++++- annotation/annotations.yaml | 9 +++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/annotation/annotations.gen.go b/annotation/annotations.gen.go index ba8b0c5e36..a1a638091a 100644 --- a/annotation/annotations.gen.go +++ b/annotation/annotations.gen.go @@ -339,6 +339,18 @@ This takes the format: "" or "/". }, } + NetworkingServiceExposeStatusPort = Instance { + Name: "networking.istio.io/service-expose-status-port", + Description: `Controls whether the 15021 health status port is exposed in the generated "Service" resource when using [Gateway auto-deployment](/docs/tasks/traffic-management/ingress/gateway-api/#automated-deployment) +`, + FeatureStatus: Alpha, + Hidden: true, + Deprecated: false, + Resources: []ResourceTypes{ + Gateway, + }, + } + NetworkingServiceType = Instance { Name: "networking.istio.io/service-type", Description: `Overrides the type of the generated "Service" resource when using [Gateway auto-deployment](/docs/tasks/traffic-management/ingress/gateway-api/#automated-deployment) @@ -360,7 +372,7 @@ At this time, this annotation only impacts routing done by Ztunnel. Accepted values: * "PreferClose": endpoints will be categorized by how "close" they are, consider network, region, zone, and subzone. Traffic will be prioritized to the closest healthy endpoints. - For example, if I have a Service with "PreferClose" set, with endpoints in zones "us-west,us-west,us-east". When + For example, if I have a Service with "PreferClose" set, with endpoints in zones "us-west,us-west,us-east". When sending traffic from a client in zone "us-west", all traffic will go to the two "us-west" backends. If one those backends become unhealthy, all traffic will go to the remaining endpoint in "us-west". If that backend becomes unhealthy, traffic will sent to "us-east". @@ -914,6 +926,7 @@ func AllResourceAnnotations() []*Instance { &IoIstioWorkloadController, &IoKubernetesIngressClass, &NetworkingExportTo, + &NetworkingServiceExposeStatusPort, &NetworkingServiceType, &NetworkingTrafficDistribution, &PrometheusMergeMetrics, diff --git a/annotation/annotations.yaml b/annotation/annotations.yaml index 10cb898dcf..45a6b007f5 100644 --- a/annotation/annotations.yaml +++ b/annotation/annotations.yaml @@ -544,6 +544,15 @@ annotations: resources: - Gateway + - name: networking.istio.io/service-expose-status-port + featureStatus: Alpha + description: | + Controls whether the 15021 health status port is exposed in the generated `Service` resource when using [Gateway auto-deployment](/docs/tasks/traffic-management/ingress/gateway-api/#automated-deployment) + deprecated: false + hidden: true + resources: + - Gateway + - name: networking.istio.io/traffic-distribution featureStatus: Alpha description: | From 15c295dccf139da159230ed755dce878e7814af6 Mon Sep 17 00:00:00 2001 From: Vladyslav Pedosyuk Date: Sun, 12 Jan 2025 17:55:49 +0200 Subject: [PATCH 2/2] redo `make gen` after a rebase --- annotation/annotations.gen.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/annotation/annotations.gen.go b/annotation/annotations.gen.go index a1a638091a..98cd9d79cf 100644 --- a/annotation/annotations.gen.go +++ b/annotation/annotations.gen.go @@ -372,7 +372,7 @@ At this time, this annotation only impacts routing done by Ztunnel. Accepted values: * "PreferClose": endpoints will be categorized by how "close" they are, consider network, region, zone, and subzone. Traffic will be prioritized to the closest healthy endpoints. - For example, if I have a Service with "PreferClose" set, with endpoints in zones "us-west,us-west,us-east". When + For example, if I have a Service with "PreferClose" set, with endpoints in zones "us-west,us-west,us-east". When sending traffic from a client in zone "us-west", all traffic will go to the two "us-west" backends. If one those backends become unhealthy, all traffic will go to the remaining endpoint in "us-west". If that backend becomes unhealthy, traffic will sent to "us-east".