Package :



Table of Contents


A DiscoveredGateway is an internal representation of an Istio Gateway workload. DiscoveredGateways are automatically detected from Istio Gateway deployments and services.

Field Type Label Description
service Reference to the Kubernetes service that exposes the gateway workloads.
workloadLabels [] repeated The labels used by the Kubernetes service to select the gateway workloads.
externalAddresses [] repeated The externally-reachable addresses on which the gateway is listening for connections.
serviceType gateway resource type


Field Type Label Description
address string The externally-reachable address on which the gateway is listening for connections. Depending on the gateway service type and its properties, this can be a LoadBalancer address reported by Kubernetes, an externally-reachable Node address, and a user-defined external IP set on the service.
ports [] repeated The externally-reachable ports on which the gateway is listening for connections.
locality The locality in which the node serving this address resides, typically representing a large geographic area.


Port describes a port accessible on a DiscoveredGateway.

Field Type Label Description
number uint32 The port number exposed on the underlying gateway k8s Service.
name string A label for the port, eg “http”. This will match the port name from the underlying gateway k8s Service.
protocol string The protocol used in communication with this destination MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS.


Field Type Label Description
key string
value string


Field Type Label Description
virtualGateways [] repeated VirtualGateways selecting this discovered gateway


Name Number Description
CLUSTER_IP 0 ServiceTypeClusterIP means a service will only be accessible inside the cluster, via the cluster IP.
NODE_PORT 1 ServiceTypeNodePort means a service will be exposed on one port of every node, in addition to ‘ClusterIP’ type.
LOAD_BALANCER 2 ServiceTypeLoadBalancer means a service will be exposed via an external load balancer (if the cloud provider supports it), in addition to ‘NodePort’ type.
EXTERNAL_NAME 3 ServiceTypeExternalName means a service consists of only a reference to an external name that kubedns or equivalent will return as a CNAME record, with no exposing or proxying of any pods involved.