VirtualDestination

Proto: virtual_destination.proto

Package: networking.gloo.solo.io

Types:

VirtualDestinationReport

reflects the report of the VirtualDestination

Field Description
workspaces (repeated VirtualDestinationReport.WorkspacesEntry)

appliedDestinationPolicies (repeated VirtualDestinationReport.AppliedDestinationPoliciesEntry)

A map of policy GVK to policy references for all policies that are applied on this resource.
selectedBackingServices (repeated common.gloo.solo.io.DestinationReference)

A list of destinations that back this virtual destination.
ownerWorkspace (string)

The name of the workspace that owns the virtual destination.

VirtualDestinationReport.AppliedDestinationPoliciesEntry

Field Description
key (string)

value (common.gloo.solo.io.AppliedDestinationPortPolicies)

VirtualDestinationReport.WorkspacesEntry

Field Description
key (string)

value (common.gloo.solo.io.Report)

VirtualDestinationSpec

VirtualDestinations define groupings of backing destinations (for network traffic).

Field Description
hosts (repeated string)

Optional: The set of custom hosts for which this virtual destination will serve traffic.
services (repeated common.gloo.solo.io.ObjectSelector)

Selectors for the backing K8s services that comprise this VirtualDestination. A service will be selected if it matches any of the given selectors. Currently only one K8s Service can be selected per cluster. If more than one service is selected within a cluster, the VirtualDestination will report a warning and the oldest created service will be selected. When a request is routed through the VirtualDestination, it will be forwarded to one of the backing services, selected at random. (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.) If a deployment is unavailable, requests will not be forwarded to that deployment.
externalServices (repeated common.gloo.solo.io.ObjectSelector)

Selectors for the backing External services that comprise this VirtualDestination. An external service will be selected if it matches any of the given selectors. Multiple External Services can be selected.
externalWorkloads (repeated common.gloo.solo.io.ObjectSelector)

Selectors for the backing ExternalWorkloads that comprise this VirtualDestination. Currently only one ExternalWorkload can be selected per cluster. If more than one external workload is selected within a cluster, the VirtualDestination will report a warning and the oldest created external workload will be selected. When a request is routed through the VirtualDestination, it will be forwarded to one of the backing external workloads, selected at random. (To forward to the service on the local cluster only, a FailoverPolicy and/or OutlierDetectionPolicy must be configured.)
ports (repeated VirtualDestinationSpec.PortMapping)

Required: The ports on which the VirtualDestination will serve traffic. Must have at least one port.
clientMode (common.gloo.solo.io.ClientMode)

Optional: Client mode determines how the VirtualDestination will be translated. If nil, the mode is inherited from the WorkspaceSettings defined by the admin.

VirtualDestinationSpec.PortMapping

PortMapping establishes a new port that will be exposed on a VirtualDestination.

Field Description
number (uint32)

The port number. Must be a valid, non-negative integer port number.
protocol (string)

The protocol used in communication with this destination MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS. Note that the VirtualDestination protocol may not match the protocol of the backing k8s Service(s). For example, VirtualDestinations pointing to GRPC services will need the protocol set to GRPC. The prefix of the k8s Service port's name will typically match the needed PROTOCOL in such cases.
targetPort (common.gloo.solo.io.PortSelector)

(optional): The port number or name used to match the corresponding port on the VirtualDestination's backing Services and ExternalServices. All of the backing services for this VirtualDestination must contain this port, matching by name or number. If unspecified, will default to the value of the port number field above.

VirtualDestinationStatus

The status of the resource after it is applied to your Gloo environment.

Field Description
common (common.gloo.solo.io.Status)

The state and workspace conditions of the applied resource.
numAppliedDestinationPolicies (repeated VirtualDestinationStatus.NumAppliedDestinationPoliciesEntry)

A map of policy GVK to policy references for all policies that are applied on this resource. “ExtAuthPolicy” -> [“policy-1”, “policy-2”] “AccesssPolicy” -> [“policy-3”]
numSelectedBackingServices (uint32)

The number of destinations (across all clusters) that back this virtual destination.
ownedByWorkspace (string)

The name of the workspace that owns the virtual destination.

VirtualDestinationStatus.NumAppliedDestinationPoliciesEntry

Field Description
key (string)

value (uint32)