hashicorp/nomad · error
Consul did not report any supported envoy versions
Error message
Consul did not report any supported envoy versions
What it means
Fired in envoyVersionHook.tweakImage during Prestart: the Consul API returned no supported Envoy versions (empty 'envoy' list), so the hook cannot pick a version to substitute into the envoy image template.
Source
Thrown at client/allocrunner/taskrunner/envoy_version_hook.go:176
if len(config) == 0 {
return false
}
if _, exists := config["image"]; !exists {
return false
}
image := h.taskImage(config)
return strings.Contains(image, envoy.VersionVar)
}
// tweakImage determines the best Envoy version to use. If no supported versions were
// detected from the Consul API just return an error.
func (h *envoyVersionHook) tweakImage(configured string, supported map[string][]string) (string, error) {
versions := supported["envoy"]
if len(versions) == 0 {
return "", errors.New("Consul did not report any supported envoy versions")
}
latest, err := semver(versions[0])
if err != nil {
return "", err
}
return strings.ReplaceAll(configured, envoy.VersionVar, latest), nil
}
// semver sanitizes the envoy version string coming from Consul into the format
// used by the Envoy project when publishing images (i.e. proper semver). This
// resulting string value does NOT contain the 'v' prefix for 2 reasons:
// 1. the version library does not include the 'v'
// 2. its plausible unofficial images use the 3 numbers without the prefix for
// tagging their own images
func semver(chosen string) (string, error) {
v, err := version.NewVersion(chosen)View on GitHub (pinned to 482b49bf1a)
Solutions
- Verify Consul is running and supports the /agent/connect/ca/roots or envoy version reporting endpoint used by the hook
- Check Consul/Nomad version compatibility and network access from the client to Consul
- Set a static envoy image in the task config to bypass version detection
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at client/allocrunner/taskrunner/envoy_version_hook.go:176 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04).
Data as JSON: /api/errors/e12f30b784d998dd.
Report an issue: GitHub.