Route

Proto: route.proto

Package: portal.gloo.solo.io

Types:

RouteSpec

A RouteSpec defines the specification for an individual Route.

Field Type Label Description
disable bool Disable exposing this Route to API Consumers.
This is offered as means of easily disabling access to APIs without needing to remove the Route from an APIProduct.
backends []portal.gloo.solo.io.RoutingDestination repeated Destination services for serving Operation requests. if more than one provided, requests will be split across these backends by the provided weights. At least one backend must be provided in order to route traffic with this RouteConfig.
options gloo.solo.io.RouteOptions This field can be used to set arbitrary route options on the generated VirtualService when running in Gloo Edge mode. A fully documented list of the available options can be found in the Gloo Edge documentation here. It is important to note that the following options are currently not supported: ratelimit_basic, ratelimit, rate_limit_configs, extauth, prefix_rewrite and regex_rewrite. If any of these options are used, the Environments that include the resource that uses this Route will be rejected. We have to impose this constraint as the aforementioned options will result in conflicts with the options that Gloo Portal needs to set to implement its own APIs (e.g. rate limit and auth options are set based on usage plans). We will probably relax these constraints in the future, pending a review of the APIs that would cause the conflicts. If cors is set, the default config provided by Gloo Portal on the VirtualService or VirtualHost will be overridden for this route. It will be up to the user to make sure CORS is configured correctly to work with the “Try it out” feature in the Developer Portal UI.

RouteSpecifier

RouteSpecifier provides a generic way to specify a route as either a reference to one defined elsewhere, or by directly inlining a RouteSpec. RouteSpecifiers can be defined in APIDocs as well as APIProducts to control how routes exposed to those APIs will be configured.

Field Type Label Description
routeRef common.portal.gloo.solo.io.ObjectRef a reference to a Route resource. This is useful for reusing routes across operations.
inlineRoute portal.gloo.solo.io.RouteSpec Provide a route specification directly on the Operation. Note: validation of this field is disabled. If schema validation is desired, use a routeRef pointing to a Route resource.
environmentRoute string Refer to a route defined by an Environment that includes this specifier. Each Environment that includes a route specified this way must define it.

RouteStatus

status of the Route. contains a list of the locations where the Route is referenced

Field Type Label Description
observedGeneration int64 The observed generation of the Route. When this matches the Route's metadata.generation, it indicates the status is up-to-date.
state common.portal.gloo.solo.io.State The current state of the Route.
reason string A human-readable string explaining the error, if any.

RoutingDestination

RoutingDestination defines a backend (HTTP server) which serves API traffic

Field Type Label Description
kube portal.gloo.solo.io.RoutingDestination.KubernetesServiceDestination Route requests to a kubernetes service.
upstream common.portal.gloo.solo.io.ObjectRef Route requests to a Gloo Edge upstream.
clusterHeader string 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. Avoid using this whenever possible, it does not allow for custom filter configuration based on Virtual Host.
weight uint32 Optional weight for the destination. Ignored if only one destination appears in the route.

RoutingDestination.KubernetesServiceDestination

Identifies a port on a kubernetes service to route traffic to.

Field Type Label Description
name string The name of the Kubernetes service
namespace string The namespace of the Kubernetes service
port uint32 The ServicePort to which to route traffic
subset []portal.gloo.solo.io.RoutingDestination.KubernetesServiceDestination.SubsetEntry repeated Optional labels for defining a destination which is a subset of the service. Not implemented in Istio.

RoutingDestination.KubernetesServiceDestination.SubsetEntry

Field Type Label Description
key string
value string