upstreams Block
Placement | job -> group -> service -> connect -> sidecar_service -> proxy -> upstreams |
The upstreams
block allows configuring various options for managing upstream
services that a Consul
Connect proxy routes to. It
is valid only within the context of a proxy
block.
For Consul-specific details see the Consul Connect Guide.
upstreams
Parameters
config
(map: nil)
- Upstream configuration that is opaque to Nomad and passed directly to Consul. See Consul Connect documentation for details. Keys and values support runtime variable interpolation.destination_name
(string: <required>)
- Name of the upstream service.destination_namespace
(string: <required>)
- Name of the upstream Consul namespace.destination_peer
(string: "")
- Name of the peer cluster containing the upstream service.destination_type
-(string: "service")
- The type of discovery query the proxy should use for finding service mesh instances.local_bind_port
-(int: <required>)
- The port the proxy will receive connections for the upstream on.datacenter
(string: "")
- The Consul datacenter in which to issue the discovery query. Defaults to the empty string, which Consul interprets as the local Consul datacenter.local_bind_address
-(string: "")
- The address the proxy will receive connections for the upstream on.local_bind_socket_mode
-(string: "")
- Unix octal that configures file permissions for the socket.local_bind_socket_path
-(string: "")
- The path at which to bind a Unix domain socket listener.mesh_gateway
(mesh_gateway: nil)
- Configures the mesh gateway behavior for connecting to this upstream.config
(map: nil)
- Upstream configuration that is opaque to Nomad and passed directly to Consul. See Consul Connect documentation for details. Keys and values support runtime variable interpolation.
mesh_gateway
Parameters
mode
(string: "")
- The mode of operation in which to use Connect Mesh Gateways. If left unset, the mode will default to the mode as determined by the Consul service-defaults configuration for the service. Can be configured with the following modes:local
- In this mode the Connect proxy makes its outbound connection to a gateway running in the same datacenter. That gateway is then responsible for ensuring the data gets forwarded along to gateways in the destination datacenter.remote
- In this mode the Connect proxy makes its outbound connection to a gateway running in the destination datacenter. That gateway will then forward the data to the final destination service.none
- In this mode, no gateway is used and a Connect proxy makes its outbound connections directly to the destination services.
The NOMAD_UPSTREAM_ADDR_<destination_name>
environment variables may be used
to interpolate the upstream's host:port
address.
Applications are encouraged to connect to 127.0.0.1
and a well defined port
(eg 6379 for Redis) by default. Then when using Consul Connect the application
can be deployed with the Redis upstream's local_bind_port = 6379
and require
no explicit configuration.
upstreams
Examples
The following example is an upstream config with the name of the destination service and a local bind port.