Giter Site home page Giter Site logo

rjh-yext / levant Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashicorp/levant

0.0 0.0 0.0 101.33 MB

An open source templating and deployment tool for HashiCorp Nomad jobs

License: Mozilla Public License 2.0

Shell 0.50% Go 86.06% Makefile 3.97% HCL 8.44% Dockerfile 1.02%

levant's Introduction

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

  • Official Levant binaries can be downloaded from the HashiCorp releases site.

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

  • 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 dev 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.

  • Pre-built binaries of Levant from versions 0.2.9 and earlier can be downloaded from the GitHub releases page page. These binaries were released prior to the migration to the HashiCorp organization. For example: curl -L https://github.com/hashicorp/levant/releases/download/0.2.9/linux-amd64-levant -o levant

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.

levant's People

Contributors

jrasell avatar angrycub avatar lgfa29 avatar cgbaker avatar dansteen avatar bogdanov1609 avatar mre avatar pmcatominey avatar chronark avatar maksym-iv avatar dnalchemist avatar hashicorp-ci avatar stack72 avatar havk64 avatar apanagiotou avatar benjaminrumble-tc avatar fuleow avatar jolexa avatar saboteurkid avatar lhayhurst avatar msvbhat avatar merwan avatar mdeggies avatar mlehner616 avatar veverkap avatar pznamensky avatar pscheit avatar rafaelpirolla avatar cgamesplay avatar shantanugadgil avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.