Install Veirox Connect on HashiCorp Nomad

Target: A Nomad cluster (1.6+) with the Docker task driver enabled
and either Vault or Consul KV for secrets.

Prerequisites

  • Nomad 1.6+
  • Docker task driver enabled on target nodes
  • Vault OR Consul KV for storing the enrollment token
  • Outbound TCP 443 from the Nomad worker to the Veirox backend
  • An Veirox enrollment token

Install

1. Store the enrollment token in Vault

vault kv put secret/veirox-connector \
  backend_url=https://veirox.customer.com \
  enrollment_token=veirox_enr_REPLACE_ME

(If you use Consul KV instead, edit veirox-connector.nomad and swap
the {{ with secret ... }} block for a {{ key "..." }} lookup.)

2. Submit the job

nomad job run deploy/nomad/veirox-connector.nomad

The job spec is count = 1 with update.max_parallel = 1 — this
guarantees a single replica even during upgrades, so the backend
never sees a duplicate-session collision.

3. (Optional) Corporate TLS proxy

Uncomment the VEIROX_CONNECTOR_EXTRA_CA_BUNDLE block in the Nomad
job and store the PEM bundle in Vault:

vault kv put secret/veirox-corp-ca pem=@/path/to/corp-ca.pem

Verify

nomad alloc logs -f -task veirox-connector $(nomad job status veirox-connector | grep running | awk '{print $1}' | head -1)

Then run the verification checklist.

Upgrade

nomad job run deploy/nomad/veirox-connector.nomad

update.auto_revert = true + health_check = "checks" will roll
back automatically if the new allocation fails its version check
within progress_deadline.

See upgrade.md.

Uninstall

nomad job stop -purge veirox-connector

Then delete the connector in the Veirox UI.

Troubleshooting

Symptom Fix
Allocation stuck pending Check nomad alloc status <id> — often a missing Vault policy or a mismatched Docker image tag.
failed to render template The Vault path or KV field name doesn't match. Double-check secret/veirox-connector vs your actual path.
Duplicate-session warnings in the UI Two allocations started (usually from a manual nomad job run during an update). Cancel one — the job spec should pin count = 1.