gateway.proto

Package: gateway.solo.io

Types:

Source File: github.com/solo-io/gloo/projects/gateway/api/v1/gateway.proto

Gateway

A Gateway describes a single Listener (bind address:port) and the routing configuration to upstreams that are reachable via a specific port on the Gateway Proxy itself.

"ssl": bool
"bindAddress": string
"bindPort": int
"options": .gloo.solo.io.ListenerOptions
"status": .core.solo.io.Status
"metadata": .core.solo.io.Metadata
"useProxyProto": .google.protobuf.BoolValue
"httpGateway": .gateway.solo.io.HttpGateway
"tcpGateway": .gateway.solo.io.TcpGateway
"proxyNames": []string

Field Type Description Default
ssl bool if set to false, only use virtual services without ssl configured. if set to true, only use virtual services with ssl configured.
bindAddress string the bind address the gateway should serve traffic on.
bindPort int bind ports must not conflict across gateways for a single proxy.
options .gloo.solo.io.ListenerOptions top level optional configuration for all routes on the gateway.
status .core.solo.io.Status Status indicates the validation status of this resource. Status is read-only by clients, and set by gloo during validation.
metadata .core.solo.io.Metadata Metadata contains the object metadata for this resource.
useProxyProto .google.protobuf.BoolValue Enable ProxyProtocol support for this listener.
httpGateway .gateway.solo.io.HttpGateway Only one of httpGateway or tcpGateway can be set.
tcpGateway .gateway.solo.io.TcpGateway Only one of tcpGateway or httpGateway can be set.
proxyNames []string Names of the Proxy resources to generate from this gateway. If other gateways exist which point to the same proxy, Gloo will join them together. Proxies have a one-to-many relationship with Envoy bootstrap configuration. In order to connect to Gloo, the Envoy bootstrap configuration sets a role in the node metadata Envoy instances announce their role to Gloo, which maps to the {{ .Namespace }}~{{ .Name }} of the Proxy resource. The template for this value can be seen in the Gloo Helm chart Note: this field also accepts fields written in camel-case. They will be converted to kebab-case in the Proxy name. This allows use of the Gateway Name Helm value for this field Defaults to ["gateway-proxy"].

HttpGateway

"virtualServices": []core.solo.io.ResourceRef
"virtualServiceSelector": map<string, string>
"virtualServiceNamespaces": []string
"options": .gloo.solo.io.HttpListenerOptions

Field Type Description Default
virtualServices []core.solo.io.ResourceRef Names & namespace refs of the virtual services which contain the actual routes for the gateway. If the list is empty, all virtual services in all namespaces that Gloo watches will apply, with accordance to ssl flag on Gateway above. The default namespace matching behavior can be overridden via virtual_service_namespaces flag below. Only one of virtualServices or virtualServiceSelector should be provided.
virtualServiceSelector map<string, string> Select virtual services by their label. If virtual_service_namespaces is provided below, this will apply only to virtual services in the namespaces specified. Only one of virtualServices or virtualServiceSelector should be provided.
virtualServiceNamespaces []string Restrict the search by providing a list of valid search namespaces here. Setting ‘*’ will search all namespaces, equivalent to omitting this value.
options .gloo.solo.io.HttpListenerOptions HTTP Gateway configuration.

TcpGateway

"tcpHosts": []gloo.solo.io.TcpHost
"options": .gloo.solo.io.TcpListenerOptions

Field Type Description Default
tcpHosts []gloo.solo.io.TcpHost TCP hosts that the gateway can route to.
options .gloo.solo.io.TcpListenerOptions TCP Gateway configuration.