route.proto

Package : portal.gloo.solo.io

Top

route.proto

Table of Contents

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 []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: cors, ratelimit_basic, ratelimit, rate_limit_configs, extauth, prefix_rewrite and regex_rewrite. If any of these options are used, the Environment 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.

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 RouteSpec Provide a route specification directly on the Operation.
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 RoutingDestination.KubernetesServiceDestination Route requests to a kubernetes service.
upstream common.portal.gloo.solo.io.ObjectRef Route requests to a Gloo Edge upstream. Not currently implemented.
static common.portal.gloo.solo.io.ObjectRef Route requests to a manually-created Gloo Mesh Destination resource (e.g. for referencing an external service). Not currently implemented.
virtual RoutingDestination.VirtualDestination Route requests to a Gloo Mesh VirtualDestination resource. Not currently implemented.
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 []RoutingDestination.KubernetesServiceDestination.SubsetEntry repeated Optional labels for defining a destination which is a subset of the service. Currently only implemented for Gloo Edge.
cluster string The cluster of the Kubernetes service. Required when using Gloo Mesh Gateway, should not be set otherwise.

RoutingDestination.KubernetesServiceDestination.SubsetEntry

Field Type Label Description
key string
value string

RoutingDestination.VirtualDestination

Identifies a Gloo Mesh VirtualDestination resource to route traffic to.

Field Type Label Description
name string The name of the VirtualDestination object
namespace string The namespace of the VirtualDestination object
subset []RoutingDestination.VirtualDestination.SubsetEntry repeated Specify, by labels, a subset of service instances backing the VirtualDestination to route to

RoutingDestination.VirtualDestination.SubsetEntry

Field Type Label Description
key string
value string