Route
Proto: route.proto
Package: portal.gloo.solo.io
Types:
- RouteSpec
- RouteSpecifier
- RouteStatus
- RoutingDestination
- RoutingDestination.KubernetesServiceDestination
- RoutingDestination.KubernetesServiceDestination.SubsetEntry
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 Environment s 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 |