.. _envoy_v3_api_file_contrib/envoy/extensions/filters/network/generic_proxy/v3/route.proto: 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 :ref:`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. .. _envoy_v3_api_msg_extensions.filters.network.generic_proxy.v3.RouteConfiguration: extensions.filters.network.generic_proxy.v3.RouteConfiguration -------------------------------------------------------------- :repo:`[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. .. code-block:: yaml 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 .. code-block:: json :force: { "name": ..., "routes": {...} } .. _envoy_v3_api_field_extensions.filters.network.generic_proxy.v3.RouteConfiguration.name: 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. .. _envoy_v3_api_field_extensions.filters.network.generic_proxy.v3.RouteConfiguration.routes: routes (:ref:`.xds.type.matcher.v3.Matcher `, *REQUIRED*) The match tree to use when resolving route actions for incoming requests.