Skip to content

Commit d90b0c8

Browse files
committed
implement
Signed-off-by: jukie <10012479+jukie@users.noreply.github.com>
1 parent b499c27 commit d90b0c8

41 files changed

Lines changed: 1895 additions & 241 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

api/v1alpha1/loadbalancer_types.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -237,35 +237,37 @@ type BackendUtilization struct {
237237
// carried in response headers/trailers.
238238
//
239239
// The backend must implement OpenRcaService for this to take effect.
240+
//
240241
// +optional
241-
// +notImplementedHide
242242
OutOfBand *OutOfBandReporting `json:"outOfBand,omitempty"`
243243
}
244244

245245
// OutOfBandReporting configures out-of-band ORCA load reporting for the
246246
// BackendUtilization load balancer.
247-
//
248-
// +notImplementedHide
249247
type OutOfBandReporting struct {
250248
// ReportingPeriod is how often Envoy requests load reports from the server.
251-
// If omitted, uses Envoy's default of 10s.
249+
// Must be greater than 0. Defaults to 10s.
250+
//
251+
// +kubebuilder:validation:XValidation:rule="duration(self) > duration('0s')",message="reportingPeriod must be greater than 0"
252252
// +optional
253-
// +notImplementedHide
254253
ReportingPeriod *gwapiv1.Duration `json:"reportingPeriod,omitempty"`
255254

256255
// Port overrides the port used for the OutOfBand reporting connection, e.g. to
257256
// reach a separate reporting sidecar. Defaults to the endpoint's port.
257+
//
258258
// +kubebuilder:validation:Minimum=1
259259
// +kubebuilder:validation:Maximum=65535
260260
// +optional
261-
// +notImplementedHide
262261
Port *int32 `json:"port,omitempty"`
263262

264263
// Authority overrides the :authority header on the OutOfBand gRPC stream.
264+
// If unset, Envoy uses the endpoint hostname, then the dialed address, then
265+
// the cluster name.
265266
//
267+
// +kubebuilder:validation:MinLength=1
268+
// +kubebuilder:validation:MaxLength=259
266269
// +kubebuilder:validation:Pattern=`^[^\x00\n\r]*$`
267270
// +optional
268-
// +notImplementedHide
269271
Authority *string `json:"authority,omitempty"`
270272
}
271273

charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_backendtrafficpolicies.yaml

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1113,8 +1113,12 @@ spec:
11131113
The backend must implement OpenRcaService for this to take effect.
11141114
properties:
11151115
authority:
1116-
description: Authority overrides the :authority header
1117-
on the OutOfBand gRPC stream.
1116+
description: |-
1117+
Authority overrides the :authority header on the OutOfBand gRPC stream.
1118+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
1119+
the cluster name.
1120+
maxLength: 259
1121+
minLength: 1
11181122
pattern: ^[^\x00\n\r]*$
11191123
type: string
11201124
port:
@@ -1128,9 +1132,12 @@ spec:
11281132
reportingPeriod:
11291133
description: |-
11301134
ReportingPeriod is how often Envoy requests load reports from the server.
1131-
If omitted, uses Envoy's default of 10s.
1135+
Must be greater than 0. Defaults to 10s.
11321136
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
11331137
type: string
1138+
x-kubernetes-validations:
1139+
- message: reportingPeriod must be greater than 0
1140+
rule: duration(self) > duration('0s')
11341141
type: object
11351142
weightExpirationPeriod:
11361143
description: If a given endpoint has not reported load metrics

charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_envoyextensionpolicies.yaml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -988,8 +988,12 @@ spec:
988988
The backend must implement OpenRcaService for this to take effect.
989989
properties:
990990
authority:
991-
description: Authority overrides the :authority
992-
header on the OutOfBand gRPC stream.
991+
description: |-
992+
Authority overrides the :authority header on the OutOfBand gRPC stream.
993+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
994+
the cluster name.
995+
maxLength: 259
996+
minLength: 1
993997
pattern: ^[^\x00\n\r]*$
994998
type: string
995999
port:
@@ -1003,9 +1007,13 @@ spec:
10031007
reportingPeriod:
10041008
description: |-
10051009
ReportingPeriod is how often Envoy requests load reports from the server.
1006-
If omitted, uses Envoy's default of 10s.
1010+
Must be greater than 0. Defaults to 10s.
10071011
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
10081012
type: string
1013+
x-kubernetes-validations:
1014+
- message: reportingPeriod must be greater than
1015+
0
1016+
rule: duration(self) > duration('0s')
10091017
type: object
10101018
weightExpirationPeriod:
10111019
description: If a given endpoint has not reported

charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_envoyproxies.yaml

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12327,9 +12327,12 @@ spec:
1232712327
The backend must implement OpenRcaService for this to take effect.
1232812328
properties:
1232912329
authority:
12330-
description: Authority overrides
12331-
the :authority header on
12332-
the OutOfBand gRPC stream.
12330+
description: |-
12331+
Authority overrides the :authority header on the OutOfBand gRPC stream.
12332+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
12333+
the cluster name.
12334+
maxLength: 259
12335+
minLength: 1
1233312336
pattern: ^[^\x00\n\r]*$
1233412337
type: string
1233512338
port:
@@ -12343,9 +12346,13 @@ spec:
1234312346
reportingPeriod:
1234412347
description: |-
1234512348
ReportingPeriod is how often Envoy requests load reports from the server.
12346-
If omitted, uses Envoy's default of 10s.
12349+
Must be greater than 0. Defaults to 10s.
1234712350
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
1234812351
type: string
12352+
x-kubernetes-validations:
12353+
- message: reportingPeriod
12354+
must be greater than 0
12355+
rule: duration(self) > duration('0s')
1234912356
type: object
1235012357
weightExpirationPeriod:
1235112358
description: If a given endpoint
@@ -13937,9 +13944,12 @@ spec:
1393713944
The backend must implement OpenRcaService for this to take effect.
1393813945
properties:
1393913946
authority:
13940-
description: Authority overrides
13941-
the :authority header on
13942-
the OutOfBand gRPC stream.
13947+
description: |-
13948+
Authority overrides the :authority header on the OutOfBand gRPC stream.
13949+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
13950+
the cluster name.
13951+
maxLength: 259
13952+
minLength: 1
1394313953
pattern: ^[^\x00\n\r]*$
1394413954
type: string
1394513955
port:
@@ -13953,9 +13963,13 @@ spec:
1395313963
reportingPeriod:
1395413964
description: |-
1395513965
ReportingPeriod is how often Envoy requests load reports from the server.
13956-
If omitted, uses Envoy's default of 10s.
13966+
Must be greater than 0. Defaults to 10s.
1395713967
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
1395813968
type: string
13969+
x-kubernetes-validations:
13970+
- message: reportingPeriod
13971+
must be greater than 0
13972+
rule: duration(self) > duration('0s')
1395913973
type: object
1396013974
weightExpirationPeriod:
1396113975
description: If a given endpoint
@@ -15713,9 +15727,12 @@ spec:
1571315727
The backend must implement OpenRcaService for this to take effect.
1571415728
properties:
1571515729
authority:
15716-
description: Authority overrides
15717-
the :authority header on the OutOfBand
15718-
gRPC stream.
15730+
description: |-
15731+
Authority overrides the :authority header on the OutOfBand gRPC stream.
15732+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
15733+
the cluster name.
15734+
maxLength: 259
15735+
minLength: 1
1571915736
pattern: ^[^\x00\n\r]*$
1572015737
type: string
1572115738
port:
@@ -15729,9 +15746,13 @@ spec:
1572915746
reportingPeriod:
1573015747
description: |-
1573115748
ReportingPeriod is how often Envoy requests load reports from the server.
15732-
If omitted, uses Envoy's default of 10s.
15749+
Must be greater than 0. Defaults to 10s.
1573315750
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
1573415751
type: string
15752+
x-kubernetes-validations:
15753+
- message: reportingPeriod must
15754+
be greater than 0
15755+
rule: duration(self) > duration('0s')
1573515756
type: object
1573615757
weightExpirationPeriod:
1573715758
description: If a given endpoint has
@@ -17437,8 +17458,12 @@ spec:
1743717458
The backend must implement OpenRcaService for this to take effect.
1743817459
properties:
1743917460
authority:
17440-
description: Authority overrides the :authority
17441-
header on the OutOfBand gRPC stream.
17461+
description: |-
17462+
Authority overrides the :authority header on the OutOfBand gRPC stream.
17463+
If unset, Envoy uses the endpoint hostname, then the dialed address, then
17464+
the cluster name.
17465+
maxLength: 259
17466+
minLength: 1
1744217467
pattern: ^[^\x00\n\r]*$
1744317468
type: string
1744417469
port:
@@ -17452,9 +17477,13 @@ spec:
1745217477
reportingPeriod:
1745317478
description: |-
1745417479
ReportingPeriod is how often Envoy requests load reports from the server.
17455-
If omitted, uses Envoy's default of 10s.
17480+
Must be greater than 0. Defaults to 10s.
1745617481
pattern: ^([0-9]{1,5}(h|m|s|ms)){1,4}$
1745717482
type: string
17483+
x-kubernetes-validations:
17484+
- message: reportingPeriod must be greater
17485+
than 0
17486+
rule: duration(self) > duration('0s')
1745817487
type: object
1745917488
weightExpirationPeriod:
1746017489
description: If a given endpoint has not reported

0 commit comments

Comments
 (0)