hashicorp/nomad · error

Connect proxy service name (%q) not found in Connect service

Error message

Connect proxy service name (%q) not found in Connect services from task group: %s

What it means

Validation error from group Connect proxy validation: the sidecar_service references a proxy/target service name that is not among the Connect-enabled services defined in the task group. Unlike error 3243, Connect services do exist, but the requested proxy name does not match any of them; the error lists the valid names.

Source

Thrown at nomad/structs/structs.go:8788

		if svc.Connect == nil || svc.Connect.SidecarService == nil {
			continue
		}

		if svc.Name == serviceName {
			found = true
			break
		}

		// Build up list of mismatched Connect service names for error
		// reporting.
		names = append(names, svc.Name)
	}

	if !found {
		if len(names) == 0 {
			return fmt.Errorf("No Connect services in task group with Connect proxy (%q)", serviceName)
		} else {
			return fmt.Errorf("Connect proxy service name (%q) not found in Connect services from task group: %s", serviceName, names)
		}
	}

	return nil
}

const (
	// TemplateChangeModeNoop marks that no action should be taken if the
	// template is re-rendered
	TemplateChangeModeNoop = "noop"

	// TemplateChangeModeSignal marks that the task should be signaled if the
	// template is re-rendered
	TemplateChangeModeSignal = "signal"

	// TemplateChangeModeRestart marks that the task should be restarted if the
	// template is re-rendered
	TemplateChangeModeRestart = "restart"

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Correct the proxy's referenced service name to match one of the Connect services listed in the error message.
  2. Rename the app service stanza so it matches the name the proxy expects.
  3. Remove the stale sidecar_service if the Connect service was intentionally removed.

Example fix

// before
service {
  name = "wev"
  connect { sidecar_service {} }
}
// after
service {
  name = "web"
  port = "http"
  connect { sidecar_service {} }
}
Defensive patterns

Strategy: validation

Validate before calling

// Ensure the proxy target name matches a Connect service name in the group
names := connectServiceNames(group)
if !slices.Contains(names, proxyTargetServiceName) {
  return fmt.Errorf("proxy target %q not in %v", proxyTargetServiceName, names)
}

Prevention

When it happens

Trigger: Submitting a job with service { connect { sidecar_service { proxy { ... } } } } whose target service name ( serviceName ) is not found in the group's Connect service names, where len(names) > 0.

Common situations: Typo in the service name the proxy attaches to; renaming the app service without updating the proxy; cross-copying proxy stanzas between jobs with different service names.

Related errors


AI-assisted analysis of hashicorp/nomad@482b49bf1a (2026-09-04). Data as JSON: /api/errors/7b2107eb1965d827. Report an issue: GitHub.