hashicorp/nomad · error
Consul Gateway Proxy connection_timeout must be set
Error message
Consul Gateway Proxy connection_timeout must be set
What it means
ConsulGatewayProxy.Validate requires connection_timeout because Consul's Envoy gateway proxy API treats it as mandatory; a nil ConnectTimeout in the gateway proxy stanza triggers this error.
Source
Thrown at nomad/structs/services.go:2162
if !reflect.DeepEqual(p.Config, o.Config) {
return false
}
return true
}
const (
strictDNS = "STRICT_DNS"
logicalDNS = "LOGICAL_DNS"
)
func (p *ConsulGatewayProxy) Validate() error {
if p == nil {
return nil
}
if p.ConnectTimeout == nil {
return fmt.Errorf("Consul Gateway Proxy connection_timeout must be set")
}
switch p.EnvoyDNSDiscoveryType {
case "", strictDNS, logicalDNS:
// Consul defaults to logical DNS, suitable for large scale workloads.
// https://www.envoyproxy.io/docs/envoy/v1.16.1/intro/arch_overview/upstream/service_discovery
default:
return fmt.Errorf("Consul Gateway Proxy Envoy DNS Discovery type must be %s or %s", strictDNS, logicalDNS)
}
for _, bindAddr := range p.EnvoyGatewayBindAddresses {
if err := bindAddr.Validate(); err != nil {
return err
}
}
return nil
}View on GitHub (pinned to 482b49bf1a)
Solutions
- Add connection_timeout (e.g. "5s") to the connect gateway proxy block
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at nomad/structs/services.go:2162 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/4c6008eb023aaaac.
Report an issue: GitHub.