All Projects → hashicorp → Levant

hashicorp / Levant

Licence: mpl-2.0
An open source templating and deployment tool for HashiCorp Nomad jobs

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Levant

Nomadfiles
A collection of Nomad job files for deploying applications to a cluster
Stars: ✭ 89 (-82.55%)
Mutual labels:  hashicorp, nomad, continuous-deployment
nomad-droplets-autoscaler
DigitalOcean Droplets target plugin for HashiCorp Nomad Autoscaler
Stars: ✭ 42 (-91.76%)
Mutual labels:  hashicorp, nomad
libra
A Nomad auto scaler
Stars: ✭ 72 (-85.88%)
Mutual labels:  hashicorp, nomad
nomad-box
Nomad Box - Simple Terraform-powered setup to Azure of clustered Consul, Nomad and Traefik Load Balancer that runs Docker/GoLang/Java workloads. NOTE: Only suitable in dev environments at the moment until I learn more Terraform, Consul, Nomad, Vault :P
Stars: ✭ 18 (-96.47%)
Mutual labels:  hashicorp, nomad
Ansible Nomad
⌚️ Ansible role for Nomad
Stars: ✭ 157 (-69.22%)
Mutual labels:  hashicorp, nomad
Sherpa
Sherpa is a highly available, fast, and flexible horizontal job scaling for HashiCorp Nomad. It is capable of running in a number of different modes to suit different requirements, and can scale based on Nomad resource metrics or external sources.
Stars: ✭ 165 (-67.65%)
Mutual labels:  hashicorp, nomad
local-hashicorp-stack
Local Hashicorp Stack for DevOps Development without Hypervisor or Cloud
Stars: ✭ 23 (-95.49%)
Mutual labels:  hashicorp, nomad
Python Nomad
Client library Hashicorp Nomad
Stars: ✭ 90 (-82.35%)
Mutual labels:  hashicorp, nomad
nomad
Dockerized Nomad
Stars: ✭ 33 (-93.53%)
Mutual labels:  hashicorp, nomad
hashidays-london
Code used for the demo of Going Multi-Cloud with Terraform and Nomad
Stars: ✭ 20 (-96.08%)
Mutual labels:  hashicorp, nomad
rundeck-nomad-plugin
Rundeck plugin running jobs on Nomad cluster.
Stars: ✭ 17 (-96.67%)
Mutual labels:  hashicorp, nomad
Hashi Up
bootstrap HashiCorp Consul, Nomad, or Vault over SSH < 1 minute
Stars: ✭ 113 (-77.84%)
Mutual labels:  hashicorp, nomad
Nomad Helper
Useful tools for working with @hashicorp Nomad at scale
Stars: ✭ 96 (-81.18%)
Mutual labels:  hashicorp, nomad
Replicator
Automated Cluster and Job Scaling For HashiCorp Nomad
Stars: ✭ 166 (-67.45%)
Mutual labels:  hashicorp, nomad
Nomad Firehose
Firehose all nomad job, allocation, nodes and evaluations changes to rabbitmq, kinesis or stdout
Stars: ✭ 96 (-81.18%)
Mutual labels:  hashicorp, nomad
hashicorp-labs
Deploy locally on VM an Hashicorp cluster formed by Vault, Consul and Nomad. Ready for deploying and testing your apps.
Stars: ✭ 32 (-93.73%)
Mutual labels:  hashicorp, nomad
Hashi Ui
A modern user interface for @hashicorp Consul & Nomad
Stars: ✭ 1,119 (+119.41%)
Mutual labels:  hashicorp, nomad
nomad-consult-ansible-centos
Deploy nomad & consult on centos with ansible
Stars: ✭ 17 (-96.67%)
Mutual labels:  hashicorp, nomad
damon
A terminal UI (TUI) for HashiCorp Nomad
Stars: ✭ 274 (-46.27%)
Mutual labels:  hashicorp, nomad
vim-hcl
Syntax highlighting for HashiCorp Configuration Language (HCL)
Stars: ✭ 83 (-83.73%)
Mutual labels:  hashicorp, nomad

Levant

Build Status Discuss

Levant is an open source templating and deployment tool for HashiCorp Nomad jobs that provides realtime feedback and detailed failure messages upon deployment issues.

Features

  • Realtime Feedback: Using watchers, Levant provides realtime feedback on Nomad job deployments allowing for greater insight and knowledge about application deployments.

  • Advanced Job Status Checking: Particularly for system and batch jobs, Levant ensures the job, evaluations and allocations all reach the desired state providing feedback at every stage.

  • Dynamic Job Group Counts: If the Nomad job is currently running on the cluster, Levant dynamically updates the rendered template with the relevant job group counts before deployment.

  • Failure Inspection: Upon a deployment failure, Levant inspects each allocation and logs information about each event, providing useful information for debugging without the need for querying the cluster retrospectively.

  • Canary Auto Promotion: In environments with advanced automation and alerting, automatic promotion of canary deployments may be desirable after a certain time threshold. Levant allows the user to specify a canary-auto-promote time period, which if reached with a healthy set of canaries, automatically promotes the deployment.

  • Multiple Variable File Formats: Currently Levant supports .json, .tf, .yaml, and .yml file extensions for the declaration of template variables.

  • Auto Revert Checking: In the event that a job deployment does not pass its healthy threshold and the job has auto-revert enabled; Levant tracks the resulting rollback deployment so you can see the exact outcome of the deployment process.

Download & Install

  • Levant can be installed via go toolkit using go get github.com/hashicorp/levant && go install github.com/hashicorp/levant

  • The Levant binary can be downloaded from the GitHub releases page using curl -L https://github.com/hashicorp/levant/releases/download/0.2.9/linux-amd64-levant -o levant if you are using a release prior to the migration to the HashiCorp organisation. Releases after the migration can be found on the HashiCorp releases site.

  • A docker image can be found on Docker Hub, the latest version can be downloaded using docker pull hashicorp/levant.

  • Levant can be built from source by firstly cloning the repository git clone git://github.com/hashicorp/levant.git. Once cloned, a binary can be built using the make build command which will be available at ./bin/levant.

  • There is a Levant Ansible role available to help installation on machines. Thanks to @stevenscg for this.

Templating

Levant includes functionality to perform template variables substitution as well as trigger built-in template functions to add timestamps or retrieve information from Consul. For full details please consult the templates documentation page.

Commands

Levant supports a number of command line arguments which provide control over the Levant binary. For detail about each command and its supported flags, please consult the commands documentation page.

Clients

Levant utilizes the Nomad and Consul official clients and configuration can be done via a number of environment variables. For detail about these please read through the clients documentation page.

Contributing

Community contributions to Levant are encouraged. Please refer to the contribution guide for details about hacking on Levant.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].