HTTP scoped routing configuration

    Specifies a routing scope, which associates a to a config.route.v3.RouteConfiguration (identified by its resource name).

    The HTTP connection manager builds up a table consisting of these Key to RouteConfiguration mappings, and looks up the RouteConfiguration to use per request according to the algorithm specified in the assigned to the HttpConnectionManager.

    For example, with the following configurations (in YAML):

    HttpConnectionManager config:

    ScopedRouteConfiguration resources (specified statically via scoped_route_configurations_list or obtained dynamically via SRDS):

    1. name: route-scope1
    2. route_configuration_name: route-config1
    3. fragments:
    4. - string_key: 172.10.10.20
    5. name: route-scope2
    6. route_configuration_name: route-config2
    7. key:
    8. - string_key: 172.20.20.30

    A request from a client such as:

    1. {
    2. "route_configuration_name": "...",
    3. "key": "{...}"
    4. }

    name

    (, REQUIRED) The name assigned to the routing scope.

    route_configuration_name

    (string, REQUIRED) The resource name to use for a to an RDS server to fetch the config.route.v3.RouteConfiguration associated with this scope.

    key

    (, REQUIRED) The key to match against.

    Specifies a key which is matched against the output of the scope_key_builder specified in the HttpConnectionManager. The matching is done per HTTP request and is dependent on the order of the fragments contained in the Key.

    fragments

    (, REQUIRED) The ordered set of fragments to match against. The order must match the fragments in the corresponding scope_key_builder.

    1. {
    2. }

    string_key

    (string, REQUIRED) A string to match against.