Generic Proxy Route Configuration (proto)
Warning
This API feature is currently work-in-progress. API features marked as work-in-progress are not considered stable, are not covered by the threat model, are not supported by the security team, and are subject to breaking changes. Do not use this feature without understanding each of the previous points.
extensions.filters.network.generic_proxy.v3.RouteConfiguration
[extensions.filters.network.generic_proxy.v3.RouteConfiguration proto]
The generic proxy makes use of the xds matching API for routing configurations.
In the below example, we combine a top level tree matcher with a linear matcher to match the incoming requests, and send the matching requests to v1 of the upstream service.
name: example
routes:
matcher_tree:
input:
name: request-service
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput
exact_match_map:
map:
service_name_0:
matcher:
matcher_list:
matchers:
- predicate:
and_matcher:
predicate:
- single_predicate:
input:
name: request-properties
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput
property_name: version
value_match:
exact: v1
- single_predicate:
input:
name: request-properties
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput
property_name: user
value_match:
exact: john
on_match:
action:
name: route
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.action.v3.routeAction
cluster: cluster_0
{
"name": ...,
"routes": {...}
}
- name
(string, REQUIRED) The name of the route configuration. For example, it might match route_config_name in envoy.extensions.filters.network.generic_proxy.v3.Rds.
- routes
(.xds.type.matcher.v3.Matcher, REQUIRED) The match tree to use when resolving route actions for incoming requests.