HTTP route configuration

    As of Envoy v1.18 the v2 API has been removed and is no longer supported.

    If you are upgrading from v2 API config you may wish to view the v2 API documentation:

    [config.route.v3.RouteConfiguration proto]

    name

    () The name of the route configuration. For example, it might match route_config_name in .

    virtual_hosts

    (repeated config.route.v3.VirtualHost) An array of virtual hosts that make up the route table.

    vhds

    () An array of virtual hosts will be dynamically loaded via the VHDS API. Both virtual_hosts and vhds fields will be used when present. virtual_hosts can be used for a base routing table or for infrequently changing virtual hosts. vhds is used for on-demand discovery of virtual hosts. The contents of these two fields will be merged to generate a routing table for a given RouteConfiguration, with vhds derived configuration taking precedence.

    internal_only_headers

    response_headers_to_add

    (repeated config.core.v3.HeaderValueOption) Specifies a list of HTTP headers that should be added to each response that the connection manager encodes. Headers specified at this level are applied after headers from any enclosed or config.route.v3.RouteAction. For more information, including details on header value syntax, see the documentation on .

    response_headers_to_remove

    (repeated string) Specifies a list of HTTP headers that should be removed from each response that the connection manager encodes.

    request_headers_to_add

    (repeated ) Specifies a list of HTTP headers that should be added to each request routed by the HTTP connection manager. Headers specified at this level are applied after headers from any enclosed config.route.v3.VirtualHost or . For more information, including details on header value syntax, see the documentation on custom request headers.

    request_headers_to_remove

    (repeated ) Specifies a list of HTTP headers that should be removed from each request routed by the HTTP connection manager.

    most_specific_header_mutations_wins

    (bool) By default, headers that should be added/removed are evaluated from most to least specific:

    • virtual host level

    • connection manager level

    validate_clusters

    () An optional boolean that specifies whether the clusters that the route table refers to will be validated by the cluster manager. If set to true and a route refers to a non-existent cluster, the route table will not load. If set to false and a route refers to a non-existent cluster, the route table will load and the router filter will return a 404 if the route is selected at runtime. This setting defaults to true if the route table is statically defined via the route_config option. This setting default to false if the route table is loaded dynamically via the option. Users may wish to override the default behavior in certain cases (for example when using CDS with a static route table).

    max_direct_response_body_size_bytes

    (UInt32Value) The maximum bytes of the response size. If not specified the default is 4096.

    Warning

    Envoy currently holds the content of direct response body in memory. Be careful setting this to be larger than the default 4KB, since the allocated memory for direct response body is not subject to data plane buffering controls.

    Configuration for a cluster specifier plugin.

    extension

    (config.core.v3.TypedExtensionConfig) The name of the plugin and its opaque configuration.

    config_source

    (config.core.v3.ConfigSource, REQUIRED) Configuration source specifier for VHDS.