-
Notifications
You must be signed in to change notification settings - Fork 799
api: add more timeout fields to ClientTimeout #9315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -71,6 +71,14 @@ type ClientTimeout struct { | |
| // | ||
| // +optional | ||
| HTTP *HTTPClientTimeout `json:"http,omitempty"` | ||
|
|
||
| // ListenerFiltersTimeout is the duration envoy waits for all listener filters to complete operation. | ||
| // If the timeout is reached, the accepted socket is closed without a connection being created. | ||
| // Specify 0 to disable the timeout. | ||
| // Default: 15 seconds. | ||
| // | ||
| // +optional | ||
| ListenerFiltersTimeout *gwapiv1.Duration `json:"listenerFiltersTimeout,omitempty"` | ||
| } | ||
|
|
||
| // TCPClientTimeout only provides timeout configuration on the listener whose protocol is TCP or TLS. | ||
|
|
@@ -81,6 +89,13 @@ type TCPClientTimeout struct { | |
| // | ||
| // +optional | ||
| IdleTimeout *gwapiv1.Duration `json:"idleTimeout,omitempty"` | ||
|
|
||
| // TransportSocketConnectTimeout is the duration envoy waits for incoming connections to complete any transport socket negotiations. | ||
| // If this expires before the transport reports connection establishment, the connection is summarily closed. | ||
| // Default: 5 seconds. | ||
| // | ||
| // +optional | ||
| TransportSocketConnectTimeout *gwapiv1.Duration `json:"transportSocketConnectTimeout,omitempty"` | ||
| } | ||
|
|
||
| type HTTPClientTimeout struct { | ||
|
|
@@ -101,4 +116,13 @@ type HTTPClientTimeout struct { | |
| // | ||
| // +optional | ||
| StreamIdleTimeout *gwapiv1.Duration `json:"streamIdleTimeout,omitempty"` | ||
|
|
||
| // RequestHeadersTimeout is the duration envoy waits for the request headers to arrive. | ||
| // The timer is activated when the first byte of the headers is received, | ||
| // and is disarmed when the last byte of the headers has been received. | ||
| // Specify 0 to disable the timeout. | ||
| // Default: 10 seconds. | ||
| // | ||
| // +optional | ||
| RequestHeadersTimeout *gwapiv1.Duration `json:"requestHeadersTimeout,omitempty"` | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
These newly exposed ClientTrafficPolicy fields are never read by the controller: Useful? React with 👍 / 👎. |
||
| } | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The generated CRDs were not updated for these API additions: the shipped ClientTrafficPolicy schema still lists only the old timeout properties under
charts/gateway-crds-helm/templates/generated/gateway.envoyproxy.io_clienttrafficpolicies.yaml:1298-1333, and repo-wide search finds the new JSON names only in this Go file. With those manifests installed, Kubernetes will drop or rejectlistenerFiltersTimeout,transportSocketConnectTimeout, andrequestHeadersTimeout, so users cannot actually configure the new API fields.Useful? React with 👍 / 👎.