Proto: references.proto

Package: common.gloo.solo.io

AWSLambdaReference

A reference to an AWS Lambda Function to use as a routing destination

FieldDescription
cloudProvider(ObjectReference)

Reference to the AWS Cloud Provider.
function(string)

Name of the function to reference.
qualifier(string)

Qualifier of the function to reference. Defaults to $LATEST
options(LambdaOptions)

Specify how the destinations should be configured, for configuring lambda functions. If the destination config is required for the destination and not provided by the user, Gloo will invalidate the destination and its parent resources.

DestinationReference

Destinations point to the upstream services that fulfill client requests on matching routes that you set up, such as in a route table. Each destination must resolve to one and only one hostname.

Destinations can refer to a variety of resources. The behavior of the route action varies depending on the kind of destination.

Currently supported destination types are:

  • Kubernetes Service, the default destination.
  • Gloo VirtualDestination to route traffic to one of the VirtualDestination’s backing Kubernetes services.
  • Gloo ExternalService to route traffic to a static set of service endpoints that are external to your mesh setup.
  • Gloo ExternalWorkload to route traffic to external workloads that are part of your mesh.
  • Gloo CloudProvider to route traffic to a cloud provider function such as AWS Lambdas, selected by using the functionCall field.

HTTP routes support all destinations. TCP routes support only Kubernetes Service and Gloo VirtualDestination destinations.

FieldDescription
ref(ObjectReference)

reference to a Kubernetes destination object by its metadata
awsLambda(AWSLambdaReference)

Reference an AWS Lambda function.
kind(DestinationKind)

the kind of Kubernetes destination being referenced. defaults to Service. Only applicable for Kubernetes destinations. For non Kubernetes destinations, this field is ignored.
port(PortSelector)

the port on the destination object being targeted. required if the object provides more than one port.
subset(repeated DestinationReference.SubsetEntry)

select a subset of the destination’s endpoints for routing based on their labels. Only applicable for Kubernetes destinations.
weight(uint32)

Specify the proportion of traffic to be forwarded to this destination. Weights across all of the destinations must sum to 100. Weight is only relevant when used in the context of a route with multiple destinations.

DestinationReference.SubsetEntry

FieldDescription
key(string)

value(string)

ListenerPortReference

ListenerPortReference identifies a single listener in a VirtualGateway by port number

FieldDescription
gatewayRef(ObjectReference)

The gateway containing the listener.
port(uint32)

The port of the listener on the gateway.

ObjectReference

reference to a Kubernetes API object. Kube API objects are referenced explicitly by the namespace and cluster containing them.

FieldDescription
name(string)

the name of the object
namespace(string)

the namespace of the object. If omitted, Gloo Mesh will use the same namespace as the parent object containing this reference.
cluster(string)

the cluster of the object. If omitted, Gloo Mesh will use the same cluster as the parent object containing this reference.

WorkloadReference

FieldDescription
ref(ObjectReference)

kind(WorkloadReference.WorkloadKind)

WorkloadReference.WorkloadKind

References the supported types for the Workload interface in pkg/utils/workloadutils/workload_types.go

NameNumberDescription
DEPLOYMENT0
DAEMON_SET1
STATEFUL_SET2
REPLICA_SET3