routing.proto

Package: supergloo.solo.io

Types:
Source File: github.com/solo-io/supergloo/api/v1/routing.proto

RoutingRule

a routing rule applies some L7 routing features to an existing mesh routing rules specify the following: for all requests: - originating from from source pods - sent to destination pods - matching one or more request matcher apply the specified RoutingRuleSpec

"status": .core.solo.io.Status
"metadata": .core.solo.io.Metadata
"targetMesh": .core.solo.io.ResourceRef
"sourceSelector": .supergloo.solo.io.PodSelector
"destinationSelector": .supergloo.solo.io.PodSelector
"requestMatchers": []gloo.solo.io.Matcher
"spec": .supergloo.solo.io.RoutingRuleSpec

Field Type Description Default
status .core.solo.io.Status Status indicates the validation status of this resource. Status is read-only by clients, and set by supergloo during validation
metadata .core.solo.io.Metadata Metadata contains the object metadata for this resource
targetMesh .core.solo.io.ResourceRef target where we apply this rule. this can be a mesh group or an individual mesh
sourceSelector .supergloo.solo.io.PodSelector requests originating from these pods will have the rule applied leave empty to have all pods in the mesh apply these rules
destinationSelector .supergloo.solo.io.PodSelector requests destined for these pods will have the rule applied leave empty to apply to all destination pods in the mesh
requestMatchers []gloo.solo.io.Matcher if specified, this rule will only apply to http requests in the mesh matching these parameters
spec .supergloo.solo.io.RoutingRuleSpec contains the configuration that will be applied to selected pods within the target mesh(es)

RoutingRuleSpec

the routing configuration that will be applied to the mesh(es)

"trafficShifting": .supergloo.solo.io.TrafficShifting
"faultInjection": .istio.networking.v1alpha3.HTTPFaultInjection
"requestTimeout": .google.protobuf.Duration
"retries": .istio.networking.v1alpha3.HTTPRetry
"corsPolicy": .istio.networking.v1alpha3.CorsPolicy
"mirror": .gloo.solo.io.Destination
"headerManipulation": .supergloo.solo.io.HeaderManipulation

Field Type Description Default
trafficShifting .supergloo.solo.io.TrafficShifting enables traffic shifting, i.e. to reroute requests to a different service, to a subset of pods based on their label, and/or split traffic between multiple services
faultInjection .istio.networking.v1alpha3.HTTPFaultInjection enable fault injection on requests
requestTimeout .google.protobuf.Duration set a timeout on requests
retries .istio.networking.v1alpha3.HTTPRetry set a retry policy on requests
corsPolicy .istio.networking.v1alpha3.CorsPolicy set a Cross-Origin Resource Sharing policy (CORS) for requests. Refer to https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS for further details about cross origin resource sharing.
mirror .gloo.solo.io.Destination Mirror HTTP traffic to a another destination. Traffic will still be sent to its original destination as normal.
headerManipulation .supergloo.solo.io.HeaderManipulation manipulate request and response headers

TrafficShifting

requests for this rule will be routed to these destinations

"destinations": .gloo.solo.io.MultiDestination

Field Type Description Default
destinations .gloo.solo.io.MultiDestination split traffic between these subsets based on their weights weights are relative to the sum of the weights

HeaderManipulation

manipulate request and response headers

"removeResponseHeaders": []string
"appendResponseHeaders": map<string, string>
"removeRequestHeaders": []string
"appendRequestHeaders": map<string, string>

Field Type Description Default
removeResponseHeaders []string HTTP headers to remove before returning a response to the caller.
appendResponseHeaders map<string, string> Additional HTTP headers to add before returning a response to the caller.
removeRequestHeaders []string HTTP headers to remove before forwarding a request to the destination service.
appendRequestHeaders map<string, string> Additional HTTP headers to add before forwarding a request to the destination service.