-
Notifications
You must be signed in to change notification settings - Fork 691
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
Support setting MaxStreamDuration of both specific routes and globally #6873
Comments
Hey @nickburgin! Thanks for opening your first issue. We appreciate your contribution and welcome you to our community! We are glad to have you here and to have your input on Contour. You can also join us on our mailing list and in our channel in the Kubernetes Slack Workspace |
Hi @nickburgin, Looks good to me. Regarding the global default, in addition to |
Fixes projectcontour#6873 Signed-off-by: Nicholas Burgin <[email protected]>
Fixes projectcontour#6873 Signed-off-by: Nicholas Burgin <[email protected]>
Fixes projectcontour#6873 Signed-off-by: Nick Burgin <[email protected]>
The Contour project currently lacks enough contributors to adequately respond to all Issues. This bot triages Issues according to the following rules:
You can:
Please send feedback to the #contour channel in the Kubernetes Slack |
Envoy has support for setting the MaxStreamDuration both globally and on a route, I suspect configuring this instead of an envoy route timeout would resolve some SSL issues we are seeing when a downstream system has it's request interrupted halfway through a stream entry (when requesting streaming data from one of our streaming endpoints).
Contour currently has no way of passing this configuration through to Envoy.
I have had a preliminary look at the contour code and the changes required to support setting this either globally or per route seem straightforward to me:
Route Specific:
MaxStreamDuration: envoy.Timeout(r.TimeoutPolicy.MaxStreamDuration)
to theRouteAction
inrouteRoute()
MaxStreamDuration: string `json:"maxStreamDuration,omitempty"`
to theTimeoutPolicy
structMaxStreamDuration
and error message totimeoutPolicy()
Global Default:
MaxStreamDuration timeout.Setting
to the Timeouts structMaxStreamDuration
and an error message toParseTimeoutPolicy()
functionMaxStreamDuration: *string `json:"maxStreamDuration,omitempty"`
to theTimeoutParameters
structI'm happy to open a PR to implement this.
The text was updated successfully, but these errors were encountered: