hashicorp/nomad · error

Signal must be specified when using change mode %q

Error message

Signal must be specified when using change mode %q

What it means

Vault.Validate: the vault block uses change_mode = "signal" but no change_signal is set. Signal-mode requires naming the signal sent to the task when vault values change.

Source

Thrown at nomad/structs/structs.go:10563

	}

	if v.ChangeMode == "" {
		v.ChangeMode = VaultChangeModeRestart
	}
}

// Validate returns if the Vault block is valid.
func (v *Vault) Validate() error {
	if v == nil {
		return nil
	}

	var mErr multierror.Error

	switch v.ChangeMode {
	case VaultChangeModeSignal:
		if v.ChangeSignal == "" {
			_ = multierror.Append(&mErr, fmt.Errorf("Signal must be specified when using change mode %q", VaultChangeModeSignal))
		}
	case VaultChangeModeNoop, VaultChangeModeRestart:
	default:
		_ = multierror.Append(&mErr, fmt.Errorf("Unknown change mode %q", v.ChangeMode))
	}

	return mErr.ErrorOrNil()
}

type Secret struct {
	Name     string
	Provider string
	Path     string
	Config   map[string]any
	Env      map[string]string
}

func (s *Secret) Equal(o *Secret) bool {

View on GitHub (pinned to 482b49bf1a)

Solutions

  1. Add change_signal such as "SIGHUP" when using change_mode = "signal"
  2. Use change_mode = "restart" or "noop", which need no signal
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at nomad/structs/structs.go:10563 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/323aefd602f26f92. Report an issue: GitHub.