Nomad
upstreams Stanza
| Placement | job -> group -> service -> connect -> sidecar_service -> proxy -> upstreams |
The upstreams stanza 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 stanza.
For Consul-specific details see the Consul Connect Guide.
job "countdash" {
datacenters = ["dc1"]
group "dashboard" {
network {
mode = "bridge"
port "http" {
static = 9002
to = 9002
}
}
service {
name = "count-dashboard"
port = "9002"
connect {
sidecar_service {
proxy {
upstreams {
destination_name = "count-api"
local_bind_port = 8080
}
}
}
}
}
task "dashboard" {
driver = "docker"
env {
COUNTING_SERVICE_URL = "http://${NOMAD_UPSTREAM_ADDR_count_api}"
}
config {
image = "hashicorpnomad/counter-dashboard:v1"
}
}
}
}
upstreams Parameters
destination_name(string: <required>)- Name of the upstream service.local_bind_port-(int: <required>)- The port the proxy will receive connections for the upstream on.
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.
upstreams {
destination_name = "count-api"
local_bind_port = 8080
}