route.envoy

Simplest configuration:

[route#0]
type = envoy
svcmgr -s <svcname> set --kw route#0.type=envoy

hash_policies

scopable

True

required

False

provisioning

False

default

inheritance

leaf > head

scope order

specific > generic

convert

list

The list of hash policy resource ids for the route. Honored if lb_policy is set to ring_hash or maglev.

match_case_sensitive

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

Indicates that prefix/path matching should be case sensitive. The default is true.

match_path

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

If specified, the route is an exact path rule meaning that the path must exactly match the :path header once the query string is removed. Precisely one of prefix, path, regex must be set.

match_prefix

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

If specified, the route is a prefix rule meaning that the prefix must match the beginning of the :path header. Precisely one of prefix, path, regex must be set.

match_regex

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

If specified, the route is a regular expression rule meaning that the regex must match the :path header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the :path header matches the regex.

redirect_host_redirect

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

The host portion of the URL will be swapped with this value.

redirect_https_redirect

scopable

True

required

False

provisioning

False

default

False

inheritance

leaf > head

scope order

specific > generic

convert

boolean

The scheme portion of the URL will be swapped with “https”.

redirect_path_redirect

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

Indicates that the route is a redirect rule. If there is a match, a 301 redirect response will be sent which swaps the path portion of the URL with this value. host_redirect can also be specified along with this option.

redirect_prefix_rewrite

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

Indicates that during redirection, the matched prefix (or path) should be swapped with this value. This option allows redirect URLs be dynamically created based on the request.

redirect_response_code

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301).

redirect_strip_query

scopable

True

required

False

provisioning

False

default

False

inheritance

leaf > head

scope order

specific > generic

convert

boolean

Indicates that during redirection, the query portion of the URL will be removed. Default value is false.

route_cluster_header

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

If the route is not a redirect (host_redirect and/or path_redirect is not specified), one of cluster, cluster_header, or weighted_clusters must be specified. When cluster_header is specified, Envoy will determine the cluster to route to by reading the value of the HTTP header named by cluster_header from the request headers. If the header is not found or the referenced cluster does not exist, Envoy will return a 404 response.

route_host_rewrite

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

Indicates that during forwarding, the host header will be swapped with this value.

route_prefix_rewrite

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

The string replacing the url path prefix if matching.

route_timeout

scopable

True

required

False

provisioning

False

default

None

inheritance

leaf > head

scope order

specific > generic

Specifies the timeout for the route. If not specified, the default is 15s. Note that this timeout includes all retries.

comment

scopable

False

required

False

provisioning

False

default

inheritance

leaf > head

scope order

specific > generic

Helps users understand the role of the service and resources, which is nice to on-call support people having to operate on a service they are not usually responsible for.