-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
I am trying to enable traffic shifting, but I want more granularity than using the default denominator (100). Runtime values for this setting can be a YAML serialized dictionary, with numerator/denominator that will then be parsed via parseEntryFractionalPercentValue():
https://github.com/envoyproxy/envoy/blob/master/source/common/runtime/runtime_impl.cc#L325
The problem is that /runtime_modify only takes parameters in the Query string, which can't have spaces. So there's no way to pass a YAML serialized dict to it.
Possible solutions:
- extend
/runtime_modifyso that it can receive parameters encoded in the body of the POST request - extend
parseQueryString()[1] so that it decodes parameters
Thoughts?
[0] https://www.envoyproxy.io/docs/envoy/latest/configuration/http_conn_man/traffic_splitting#traffic-shifting-between-two-upstreams
[1] https://github.com/envoyproxy/envoy/blob/master/source/common/http/utility.cc#L95