45
Watch
650
Star
53
Fork
0
Issue

A curated list of amazingly awesome Nomad tools and shiny things.

45
jippi
jippi
pushedAt 1 week ago

jippi/awesome-nomad

Awesome Nomad

A curated list of amazingly awesome Nomad tools and shiny things.

Pull requests with additional tools and projects are more than welcome!

User interfaces

  • jippi/hashi-ui - Interface for Consul & Nomad by HashiCorp, live stream of data, fast search and resource visualization per cluster or client.
  • hashicorp/damon - An early stage terminal dashboard for Nomad.

Autoscaling

  • hashicorp/nomad-autoscaler - HashiCorp's official Nomad Autoscaler. Supports scaling allocations within Nomad and scaling nodes on AWS, Azure, GCP, or arbitrary infrastructure via plugins.
  • jrasell/chemtrail - Chemtrail is a client scaler for HashiCorp Nomad allowing for dynamic and safe scaling of the client workerpool based on demand.
  • jrasell/sherpa - Sherpa is a job scaler for HashiCorp Nomad and aims to be highly flexible so it can support a wide range of architectures and budgets.
  • underarmour/libra - Scale Nomad task group counts based on external metrics Graphite or AWS CloudWatch.
  • Spotinst - SaaS Nomad Cluster autoscaler with option to run the clients on Spot Instances (AWS Only)
  • trivago/scalad - Scalad is a nomad horizontal scaler that can be setup from each job Taskgroup meta stanza based on external metrics.
  • dkt26111/nomad-senlin-autoscale - Nomad Autoscaler plugin for OpenStack Senlin.
  • jsiebens/nomad-droplets-autoscaler - Nomad Autoscaler plugin for Digital Ocean droplets.

CI / CD

  • getnelson/nelson - Lights-out deployment and lifecycle manager for Nomad (and other pluggable schedulers). Fully integrated with Vault and Consul. Optionally can act as a control plane for your traffic routing teir.
  • jenkinsci/nomad-plugin - Jenkins plugin to allow using Nomad Jobs to scale out Jenkins build slaves.
  • jrasell/levant - A templating and deployment tool for HashiCorp Nomad jobs that provides realtime feedback and detailed failure messages upon deployment issues.
  • ValFadeev/rundeck-nomad-plugin - A Rundeck plugin for authoring and running Nomad jobs by operators or in automated deployment pipelines.
  • screwdrivercd/nomad - Use nomad to schedule and execute workflows triggered by an scm (github/bitbucket).
  • fortress-shell - Self-written CI/CD SaaS based on Hashicorp Nomad

Plugins

Self Service

  • data-science-platform/cluster-broccoli - Cluster Broccoli is a RESTful web service + UI to manage Nomad jobs through a self service application. Jobs are defined based on templates, allowing for a selectable amount of customization.

Job Files and Packs

Utilities

  • seatgeek/nomad-helper - Simple helper binary to allow you to reevaluate all jobs, drain an node (and wait for all allocations to stop), force a garbage collection, export / import job task group counts in YAML format.
  • seatgeek/nomad-firehose - Go binary that "tails" API endpoints and emit messages for each changed resource to RabbitMQ, AWS kinesis or stdout.
  • seatgeek/nomad-crashloop-detector - Consuming the RabbitMQ output from seatgeek/nomad-firehose, will detect when allocations restart too fast or too often, outputing the offending allocation to RabbitMQ, AWS Kinesis or stdout.
  • jrasell/nomad-toast - A tool for receiving notifications based on HashiCorp Nomad events.
  • axsuul/nomad-event-streamer - A tool for sending events to your favorite destinations such as Discord.
  • sepulworld/deadman-check - A monitoring companion for Nomad periodic jobs that alerts if periodic isn't running at the expected interval.
  • blalor/nomad-watcher - A simple service that watches Nomad's nodes, jobs, allocations, deployments, and evaluations, and writes the events to a file. Also includes a utility for tailing events to a console window.
  • smintz/nomadgen - Define your Nomad jobspecs using Python.
  • jet/nomad-service-alerter - A tool which provides opt-in alerting for the jobs running on Nomad. It mainly covers Consul Health-check alerts and Restart-Loop (when allocations switch between "pending" and "running" state often due to internal errors) alerts providing integration with PagerDuty.
  • 42wim/nomadctld - Ssh server with ability to exec/attach/logs/tail/stop hashicorp nomad containers.
  • ataccama/nomad-deploy - Python3 script that renders a Jinja2 template, plans and registers job. Installable as an executable from pypi.org.
  • ngine-io/chaotic - Choas monkey with integrated nomad support. Runs as batch job or service and kills allocations periodically and randomly.
  • jsiebens/hashi-up - A a lightweight utility to install Nomad (and other HashiCorp tools) on any remote Linux host.
  • let-sh/nomad-deploy-result-action - A GitHub action for automating Nomad deploys with GitOps.
  • koyeb/kreconciler - A library for building operators and reconcilers on top of Nomad (or other schedulers).
  • Roblox/nomad-node-problem-detector - A tool used to detect problems on Nomad nodes based on user-defined health checks.
  • hashicorp/nomad-pack - An official templating tool and package manager for Nomad, currently a Tech Preview.

Tutorials

Examples / Demos

  • pete0emerson/hashipoc - A Vagrant driven example of getting Consul / Vault / Nomad up and running with a sample app deployed
  • fhemberger/nomad-demo - Vagrant based demo setup for running Hashicorp Consul, Nomad and Vault, including sample apps for Docker, JRE and a basic monitoring setup. Uses Traefik as load balancer to pick up services directly from Consul catalog.

Other

  • numkem/nomad-spk - spk (Synology package) to install Hashicorp's nomad scheduler into Synology NAS
ucloud ads