Table of Contents
Note: This message needs to be at this level (rather than nested) due to cue restrictions. DelegateActions are used to delegate routing decisions to other resources, for example RouteTables.
|refs||core.skv2.solo.io.ObjectRef||repeated||Delegate to the RouteTable resources with matching
|selector||core.skv2.solo.io.ObjectSelector||Delegate to the RouteTables that match the given selector. Selected route tables are ordered by creation time stamp in ascending order to guarantee consistent ordering.|
|sortMethod||networking.enterprise.mesh.gloo.solo.io.DelegateAction.SortMethod||How routes should be sorted|
Note: This message needs to be at this level (rather than nested) due to cue restrictions. DirectResponseAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto
|status||uint32||Specifies the HTTP response status to be returned.|
|body||string||Specifies the content of the response body. If this setting is omitted, no body is included in the generated response.
Note: Headers can be specified using the Header Modification feature in the enclosing Route, ConnectionHandler, or Gateway options.
Note: This message needs to be at this level (rather than nested) due to cue restrictions. Notice: RedirectAction is copied directly from https://github.com/envoyproxy/envoy/blob/master/api/envoy/api/v2/route/route.proto
|hostRedirect||string||The host portion of the URL will be swapped with this value.|
|pathRedirect||string||The path portion of the URL will be swapped with this value.|
|prefixRewrite||string||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.
Pay attention to the use of trailing slashes as mentioned in
|responseCode||networking.enterprise.mesh.gloo.solo.io.RedirectAction.RedirectResponseCode||The HTTP status code to use in the redirect response. The default response code is MOVED_PERMANENTLY (301).|
|httpsRedirect||bool||The scheme portion of the URL will be swapped with “https”.|
|stripQuery||bool||Indicates that during redirection, the query portion of the URL will be removed. Default value is false.|
A route specifies how to match a request and what action to take when the request is matched.
When a request matches on a route, the route can perform one of the following actions: - Route the request to a destination - Reply with a Direct Response - Send a Redirect response to the client - Delegate the action for the request to one or more
RouteTable resources DelegateActions can be used to delegate the behavior for a set out routes to
|name||string||The name provides a convenience for users to be able to refer to a route by name. It includes names of VS, Route, and RouteTable ancestors of the Route.|
|matchers||common.mesh.gloo.solo.io.HttpMatcher||repeated||Matchers contain parameters for matching requests (i.e., based on HTTP path, headers, etc.). If empty, the route will match all requests (i.e, a single “/” path prefix matcher). For delegated routes, any parent matcher must have a
|routeAction||networking.enterprise.mesh.gloo.solo.io.Route.RouteAction||This action is the primary action to be selected for most routes. The RouteAction tells the proxy to route requests to an upstream.|
|redirectAction||networking.enterprise.mesh.gloo.solo.io.RedirectAction||Redirect actions tell the proxy to return a redirect response to the downstream client.|
|directResponseAction||networking.enterprise.mesh.gloo.solo.io.DirectResponseAction||Return an arbitrary HTTP response directly, without proxying.|
|delegateAction||networking.enterprise.mesh.gloo.solo.io.DelegateAction||Delegate routing actions for the given matcher to one or more RouteTables.|
|options||networking.mesh.gloo.solo.io.TrafficPolicySpec.Policy||Route Options extend the behavior of routes. Route options include configuration such as retries, rate limiting, and request/response transformation. RouteOption behavior will be inherited by delegated routes which do not specify their own
|labels||networking.enterprise.mesh.gloo.solo.io.Route.LabelsEntry||repeated||Specify labels for this route, which are used by other resources (e.g. TrafficPolicy) to select specific routes within a given gateway object.|
RouteActions are used to route matched requests to upstreams.
|destinations||networking.mesh.gloo.solo.io.WeightedDestination||repeated||Defines the destination upstream for routing Some destinations require additional configuration for the route (e.g. AWS upstreams require a function name to be specified).|
|pathRewrite||string||Replace the path specified in the matcher with this value before passing upstream. When a prefix matcher is used, only the prefix portion of the path is rewritten. When an exact matcher is used, the whole path is replaced. Rewriting the path when a regex matcher is used is currently unsupported.|
|TABLE_WEIGHT||0||Routes are kept in the order that they appear relative to their tables, but tables are sorted by weight. Tables that have the same weight will stay in the same order that they are listed in, which is the list order when given as a reference and by creation timestamp when selected.|
|ROUTE_SPECIFICITY||1||After processing all routes, including additional route tables delegated to, the resulting routes are sorted by specificity to reduce the chance that a more specific route will be short-circuited by a general route. Matchers with exact path matchers are considered more specific than regex path patchers, which are more specific than prefix path matchers. Matchers of the same type are sorted by length of the path in descending order. Only the most specific matcher on each route is used.|
|MOVED_PERMANENTLY||0||Moved Permanently HTTP Status Code - 301.|
|FOUND||1||Found HTTP Status Code - 302.|
|SEE_OTHER||2||See Other HTTP Status Code - 303.|
|TEMPORARY_REDIRECT||3||Temporary Redirect HTTP Status Code - 307.|
|PERMANENT_REDIRECT||4||Permanent Redirect HTTP Status Code - 308.|