ExternalService defines a destination for routing which exist outside the mesh. This could for example be a web API or a set of virtual machines that are not running in Kubernetes. When an ExternalService is defined for a given workspace, it can be used as a Destination in Routes, as well as called directly via its specified hostname. Resolution of the IP addresses for external services can be done via DNS or provided statically using the ExternalEndpoint object.
Field
Type
Label
Description
hosts
[]string
repeated
The List of hostnames which will resolve to this service. These hosts must be unique among all ExternalServices and VirtualHosts within a workspace. Only FQDNs are supported at this time (wildcard domains are not allowed for ExternalServices). or Originating TLS connections to ExternalServices is only supported for FQDNs (not for wildcard domains).
Selecting ExternalEndpoints will provide the addresses used for routing traffic to on the ExternalService's hosts. An empty selector will not select any endpoints. If no endpoints are selected, requests will be routed to the provided hosts using dns resolution.
subjectAltNames
[]string
repeated
A list of alternate names to verify the subject identity in the certificate. If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. Only applicable when using TLS to communicate with the ExternalService.
ExternalServiceSpec.Port
Port establishes a new port that will be exposed on an ExternalService.
Field
Type
Label
Description
number
uint32
The port number. Must be a valid, non-negative integer port number.
(optional): The port number or name used to match the corresponding port on the ExternalService's backing ExternalEndpoints. All of the backing ExternalEndpoints for this ExternalService must contain this port, matching by name or number. If no backing ExternalEndpoints are provided, a name selector is invalid, and requests will be routed to the provided hosts on the port number specified. If unspecified, will default to the value of the port number field above.
name
string
A label for the port, eg “http”.
protocol
string
The protocol used in communication with this destination MUST be one of the following: HTTP, HTTPS, GRPC, HTTP2, MONGO, TCP, TLS.