hashicorp/nomad · error

Connect mesh_gateway mode %q not supported

Error message

Connect mesh_gateway mode %q not supported

What it means

ConsulMeshGateway.Validate rejected the mesh_gateway mode: only "local", "remote", and "none" are accepted. Anything else in the jobspec connect block's mesh_gateway stanza triggers this.

Source

Thrown at nomad/structs/services.go:1779

	return ConsulMeshGateway{
		Mode: c.Mode,
	}
}

func (c *ConsulMeshGateway) Equal(o ConsulMeshGateway) bool {
	return c.Mode == o.Mode
}

func (c *ConsulMeshGateway) Validate() error {
	if c == nil {
		return nil
	}

	switch c.Mode {
	case "local", "remote", "none":
		return nil
	default:
		return fmt.Errorf("Connect mesh_gateway mode %q not supported", c.Mode)
	}
}

// ConsulUpstream represents a Consul Connect upstream jobspec block.
type ConsulUpstream struct {
	// DestinationName is the name of the upstream service.
	DestinationName string

	// DestinationNamespace is the namespace of the upstream service.
	DestinationNamespace string

	// DestinationNamespace is the admin partition of the upstream service.
	DestinationPartition string

	// DestinationPeer the destination service address
	DestinationPeer string

	// DestinationType is the type of destination. It can be an IP address,

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Set mesh_gateway.mode to one of "local", "remote", or "none"
  2. Remove the mesh_gateway block if the default (local) behavior is acceptable
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at nomad/structs/services.go:1779 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/de99c32471c737bf. Report an issue: GitHub.