-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
feat(destination): Add meshed HTTP/2 keep-alive settings #12504
Conversation
b68ed59
to
dc600ae
Compare
Validated via the diagnostics commands:
proxy consuming this:
|
This commit adds destination controller configuration that enables default keep-alives for meshed HTTP/2 clients. This is accomplished by encoding the raw protobuf message structure into the helm values, and then encoding that as JSON in the destination controller's command-line options. This allows operators to set any supported HTTP/2 client configuration without having to modify the destination controller.
@@ -206,6 +206,9 @@ spec: | |||
- -identity-trust-domain={{.Values.identityTrustDomain | default .Values.clusterDomain}} | |||
- -default-opaque-ports={{.Values.proxy.opaquePorts}} | |||
- -enable-pprof={{.Values.enablePprof | default false}} | |||
{{- if (.Values.destinationController).meshedHttp2ClientProtobuf }} | |||
- --meshed-http2-client-params={{ toJson .Values.destinationController.meshedHttp2ClientProtobuf }} |
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.
since this is in a yaml list of args, does that mean that it will gracefully handle json which contains spaces? or would we need to introduce quoting/escaping?
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.
toJson (mustToJson): Convert list, slice, array, dict, or object to JSON.
toPrettyJson (mustToPrettyJson): Convert list, slice, array, dict, or object to indented JSON.
toRawJson (mustToRawJson): Convert list, slice, array, dict, or object to JSON with HTML characters unescaped.
toJson gives us a compact, escaped string. Non-newline whitespace is fine in this context.
This commit adds destination controller configuration that enables default
keep-alives for meshed HTTP/2 clients.
This is accomplished by encoding the raw protobuf message structure into the
helm values, and then encoding that as JSON in the destination controller's
command-line options. This allows operators to set any supported HTTP/2 client
configuration without having to modify the destination controller.