mrkeyoor.com_
Tue 01 Sept 17:41 UTC
Self-Hostedevaluationupdated 26 Aug 2026

nomad review

Nomad is a workload scheduler for containers, ordinary executables, Java applications, batch jobs, and virtual machines across fleets of servers. It handles placement, rescheduling, health, resources, and multi-region coordination for teams that want an orchestrator with fewer core components than Kubernetes.

+18stars / 7d
Verdict

Our Nomad checkout installed 1,517 pnpm packages in 47 seconds, but it exposed no build or test target, so our run did not validate the scheduler binary. Nomad remains a strong fit for mixed workloads and teams that find Kubernetes larger than their problem. Adopt it only after accepting the Business Source License, building a real 3-or-5-server control plane, and testing the drivers and failure modes your jobs depend on.

We ran it

Lab card: what happened when we ran nomadScreenshot of nomad (www.nomadproject.io)
Install✓ · 47s1517 packages · 491 MB
Buildn/ano build script
Testsn/ano test script
Repo6011 files~800,108 lines of source · 68.4 MB · 18 CI workflows · Dockerfile

Answers from our run

Does nomad build from source?

Dependencies installed in 47 seconds (1517 packages), and the project has no separate build step. We cloned commit aa026cc into a clean Debian container with 3 CPUs and no project-specific setup.

Does nomad have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Who should not use nomad?

Organizations with an OSI-open-source-only procurement rule: current Nomad uses Business Source License 1.1 and later converts each version to MPL 2.0.

What are the alternatives to nomad?

Kubernetes, SwarmKit, K3s. Our Nomad checkout installed 1,517 pnpm packages in 47 seconds, but it exposed no build or test target, so our run did not validate the scheduler binary.

Setup3/5Simple dev agent; secure production requires 3 or 5 servers and policies
Docs5/5Deep jobspec, API, plugin, tutorial, security, and operations material
Community5/516,837 stars with active v2.0 backports and current issue work
Maturity4/5Long production history; our harness did not build or test the Go binary

Discussed on

  1. hnShow HN: Rivet – Open-source game server management with Nomad and Rust327 points
  2. hnHow we use HashiCorp Nomad318 points
  3. hnCloudflare Uses HashiCorp Nomad (2020)150 points
  4. hnHashiCorp Nomad 1.1 Beta106 points
  5. hnNomad v1.0 release – workload orchestration71 points

Who it’s for

Infrastructure teams running a mix of containers, batch jobs, legacy executables, and virtual machines.
Organizations that want a smaller control plane than Kubernetes and can manage servers directly.
HashiCorp users already operating Consul and Vault for discovery and secrets.
GPU, FPGA, and device-heavy environments that benefit from pluggable task and device drivers.
Multi-cloud operators who want one scheduler across bare metal, virtual machines, and cloud instances.

Who it’s NOT for

Organizations with an OSI-open-source-only procurement rule: current Nomad uses Business Source License 1.1 and later converts each version to MPL 2.0.
Vendors offering a paid hosted or embedded product that may compete with IBM's paid Nomad products: the license's additional-use grant needs legal review.
Teams expecting regional federation to replicate all jobs and state: the production architecture says regional clusters are independent and most data is not replicated.
Kubernetes-dependent shops that require its APIs, operators, controllers, and managed control planes.
Windows batch users affected by artifact caching: issue 28150 reports periodic jobs intermittently skipping downloads and starting without required files.

Setup reality

Our sandbox installed 1,517 pnpm packages in 47 seconds and used 491 MB. The measured workspace exposed no build script or target and no tests script or target, so both steps were skipped. This did not validate the Go server binary or its test suite.

A local Nomad trial can use a single development agent. Production needs 3 or 5 server agents, durable Raft storage, low-latency links, TLS, ACLs, gossip encryption, backups, client drivers, networking, and workload policies.

Consul and Vault are optional but common companions for discovery and secrets. Multi-region operation adds independent server clusters and WAN federation rather than automatic replication of application state.

Nomad schedules containers, binaries, batch work, and VMs

Nomad's main advantage is workload variety. One cluster can run Docker or Podman containers, ordinary executables, Java programs, batch jobs, and QEMU virtual machines. Device plugins can expose GPUs and specialized hardware. That mix suits companies whose systems cannot all fit a container-only model. Jobs are described in HCL or JSON, planned before submission, placed according to resources and constraints, and rescheduled according to declared policy.

The core is compact by orchestrator standards. Nomad ships server and client behavior in one binary and stores coordination state through Raft rather than an external database. Servers decide placement; clients run allocations and report health. This reduces mandatory control-plane products, but networking, service discovery, ingress, secrets, storage, and observability still need choices. Consul and Vault are common companions, not invisible features bundled into the scheduler.

A development agent is smaller than the production system

The README directs evaluators to a local development cluster. That is a useful way to submit a jobspec, inspect an allocation, and try task drivers. HashiCorp's production reference architecture calls for 3 or 5 servers, no more than 7, with quorum spread across failure domains. It expects high-bandwidth links and latency below 10 milliseconds between server members. Those requirements turn a friendly single binary into a real distributed control plane.

Production security includes TLS, ACL policies and tokens, gossip encryption, restricted task drivers, protected artifact sources, network rules, host-volume policy, backups, and tested recovery. Nomad clients deserve scrutiny because they launch the workloads. Running a raw executable is useful for legacy systems and dangerous when untrusted users can submit jobs. Platform owners must decide which drivers, devices, mounts, networks, and identities each namespace can access.

What happened when we ran it

Our sandbox detected the repository's Node and pnpm workspace and installed 1,517 packages in 47 seconds, using 491 MB on disk. The checkout at commit aa026cc contained 6,011 files, roughly 800,108 lines of source, and 68.4 MB before dependencies. The measured workspace had monorepo configuration, 18 CI workflow files, a Dockerfile, and no tests directory. Installation succeeded in the stated unprivileged Debian container.

No build script or target was available to the harness, so build was skipped. No tests script or target was available either, so tests were skipped. This is not a passing build or test result for Nomad's Go scheduler. It only shows that the surfaced pnpm dependency step completed in 47 seconds. Buyers should run a Go build, integration suites, driver tests, and a staged cluster upgrade before deploying this commit.

Federation connects regions without copying most state

Nomad can federate independent regions over WAN gossip and let operators address them through one administrative view. The production architecture is explicit that regional clusters do not share jobs, clients, or most state. Some global policy material can replicate, but a failed region does not automatically re-create its workload elsewhere. Disaster recovery needs source-controlled jobs, replicated application data, server snapshots, DNS or traffic changes, and a tested resubmission process.

Release v2.0.5 added structured job-plan output and a planner setting for more outstanding Raft writes. It also fixed deleted allocations remaining active, a client panic after garbage collection, secret and private tmpfs remounting, blocked CSI evaluations, CPU-set enforcement, scheduler panics, and service-secret interpolation. The release is active maintenance evidence. It also shows how many paths exist between submitted intent and a correctly running allocation.

Current reports target restarts, planning, and Windows artifacts

Issue 28439 reports that each in-place task restart leaked 1 operating-system thread and 1 file descriptor in logmon with a stated Podman setup. After 146 restarts, the reporter measured 159 threads and 163 descriptors. A fix pull request opened the next day. Operators running long-lived workers with frequent restarts should graph process threads and descriptors rather than assuming a healthy allocation status covers helper-process resources.

Issue 28444 concerns the new plan-apply pipeline under concurrent placement. A retained optimistic snapshot can miss an evaluation that exists in canonical state, return an error, and add about 1 second through the initial negative-acknowledgement delay. Issue 28150 reports a Windows periodic-job regression where later runs intermittently skip S3 or MinIO artifact downloads. These reports affect specific configurations, which makes configuration-matched staging more useful than generic smoke tests.

Business Source License 1.1 changes who can adopt it

Current Nomad code uses Business Source License 1.1 rather than an OSI-approved open-source license. The grant allows many internal production uses, while restricting certain paid hosted or embedded offerings that compete with IBM's paid Nomad products. Each version is scheduled to convert to MPL 2.0 after its stated change period. Internal platform teams may accept that model; vendors and open-source-only organizations need procurement or legal review.

The edition boundary matters separately. Nomad Enterprise sells organizational, governance, and support capabilities beyond the community build. Match required controls to the edition before designing a platform around them. A feature in HashiCorp documentation may carry an Enterprise marker, and commercial support can change the economics compared with operating the community binary alone. Licensing and edition fit should be decided before teams invest in jobspecs, drivers, and training.

August activity supports maturity, while fit decides the choice

GitHub recorded 16,837 stars, 1,638 combined open issues and pull requests, and a last push on August 25, 2026. Version 2.0.5 shipped on August 13. Recent activity covers bug reports, release backports, scheduler work, UI fixes, and a Go toolchain update. The large queue is not 1,638 confirmed bugs; it reflects a mature scheduler with many operating systems, drivers, APIs, and long-lived deployments.

Nomad is persuasive for mixed workloads, direct server ownership, and teams already comfortable with HCL, Consul, or Vault. Kubernetes is safer when managed control planes, hiring familiarity, and operator compatibility dominate. Our pnpm-only run leaves build integrity unconfirmed for the Go product, so adoption should start with a pinned binary or reproducible Go build, a 3-server staging cluster, and failure drills for quorum, artifacts, drivers, secrets, and regional recovery.

Alternatives

ProjectWhat it isPick it when
Kubernetes gh↗The dominant container orchestrator with a large API, controller, provider, and operator ecosystem.pick this instead when managed offerings and Kubernetes-native compatibility outweigh control-plane complexity.
SwarmKitDocker's orchestration toolkit for clustered container workloads.pick this instead when workloads are almost entirely Docker containers and a smaller feature set is acceptable.
K3s gh↗A compact Kubernetes distribution for edge and smaller environments.pick this instead when you want a lighter package while retaining Kubernetes APIs and tooling.

What people are saying

  1. [github-trending] hashicorp/nomad

Sources

  1. Nomad README
  2. Nomad v2.0.5 release
  3. Nomad production reference architecture
  4. Nomad Business Source License
  5. Logmon restart resource leak
  6. Plan apply optimistic snapshot report
  7. Windows periodic artifact skip report

More self-hosted reviews

v2 · OpenShell · wigolo · Mindwtr · club-3090 · reclip · the whole board →