hashicorp/nomad

Nomad is an easy-to-use, flexible, and performant workload orchestrator that can deploy a mix of microservice, batch, containerized, and non-containerized...

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 49 minutes ago
Added to GitGenius on April 8th, 2021
Created on June 1st, 2015
Open Issues & Pull Requests: 1,634 (+0)
Number of forks: 2,135
Total Stargazers: 16,830 (+2)
Total Subscribers: 507 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 40.0 hours
Mean response time: 175.7 days
90th percentile: 665.0 days
Tracked items: 2,247

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "theme/ui" is answered fastest, typically in about 6 hours, while "stage/needs-discussion" waits about 2 weeks. 63% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 3% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 546
New in 7 days: 2
Closed in 7 days: 0
Avg open age: 1,050 days
Stale 30+ days: 447
Stale 90+ days: 418

Recent activity

Opened in 7 days: 2
Closed in 7 days: 0
Comments in 7 days: 6
Events in 7 days: 12

Top labels

  • type/bug (1,298)
  • type/enhancement (760)
  • stage/accepted (627)
  • hcc/jira (519)
  • theme/ui (313)
  • stage/waiting-reply (195)
  • stage/needs-discussion (169)
  • theme/docs (142)

Detailed Description

Nomad is HashiCorp's workload orchestrator written in Go, designed to deploy and manage a diverse mix of application types across on-premises and cloud infrastructure at scale. Unlike orchestrators narrowly focused on containerized workloads, Nomad supports containers via Docker and Podman, non-containerized applications through executable and Java task drivers, and virtual machines via QEMU, allowing organizations to run legacy systems alongside modern containerized applications on shared infrastructure without forced containerization.

The orchestrator operates as a single self-contained binary that combines resource management and scheduling without requiring external services for storage or coordination. This architectural simplicity contrasts with more complex systems and contributes to Nomad's reliability model, which handles application, node, and driver failures automatically through distributed state replication and leader election for high availability. The system runs on Linux, Windows, and macOS, with a commercial Nomad Enterprise variant also available.

Nomad's feature set addresses several infrastructure challenges. It includes built-in GPU support and device plugins for detecting and utilizing specialized hardware like FPGAs and TPUs, making it suitable for machine learning and artificial intelligence workloads. The orchestrator supports federation natively, enabling deployment across multiple regions and clouds, and has demonstrated proven scalability in production environments with clusters exceeding 10,000 nodes. Its optimistically concurrent architecture increases throughput and reduces latency for workload scheduling.

Integration with the broader HashiCorp ecosystem is a core design principle. Nomad works seamlessly with Terraform for infrastructure provisioning, Consul for service discovery, and Vault for secrets management, allowing organizations to build comprehensive infrastructure automation workflows.

The repository shows active development and maintenance patterns.

The repository's classification spans cloud-native infrastructure, high availability systems, workload management, infrastructure automation, orchestration, containerization, multi-cloud support, task scheduling, cluster management, distributed systems, and dynamic scheduling.

Documentation is comprehensive and maintained separately in the web-unified-docs repository, with tutorials, API documentation, CLI references, and plugin documentation available. The project maintains a public roadmap for upcoming features, though explicitly noting that timelines and deliverables remain subject to change. Contributing guidelines are documented in the repository's contributing directory, supporting developer participation in the project's ongoing evolution.