Code Monkey home page Code Monkey logo

backpack's Introduction

Nomad's Backpack ๐ŸŽ’

Backpack ๐ŸŽ’ is a packaging system for Hashicorp Nomad that allows to:

  • Helps you define and install complex jobs configuration
  • Helps building reproducible jobs across multiple Nomad clusters
  • Simplifies updates to new version of jobs
  • Allows you to publish and share packages of applications

Please, keep in mind that this is designed for Nomad, and it might result as very different than Helm, as Kubernetes is way more than a scheduler. Read more here about the differences between k8s and nomad

To learn more about the motivation behind the development of this project check the blog post on Qm64 website.

If you need some help or you want to stay updated with the latest news, join Qm64's chatroom on Matrix

Backpack is currently tested against Nomad version 0.12.8

TL;DR: Install

You can manually download the latest release from the release page here.

Or compile the binaries:

go get -v gitlab.com/Qm64/backpack
cd $GOPATH/src/gitlab.com/Qm64/backpack/
make install

TL;DR How to Use

Create your first pack, by using the boilerplate directory structure:

backpack create nginx

Pack all the files into one single pack:

backpack pack ./nginx-0.1.0/

Customize the values for the template to configure, enable, adjust the jobs:

backpack unpack values ./nginx-0.1.0.backpack -f ./values.yaml

Plan and validate (dry-run) the jobs of a package before running:

backpack plan ./nginx-0.1.0.backpack -v ./values.yaml

Run your Nomad Jobs with my custom values:

backpack run ./nginx-0.1.0.backpack -v ./values.yaml

Check the status of the job allocations:

backpack status ./nginx-0.1.0.backpack --all

Unpack, customize or Run a backpack from an URL:

backpack unpack values https://backpack.qm64.tech/examples/redis-6.0.0.backpack -f ./values.yaml
backpack run https://backpack.qm64.tech/examples/redis-6.0.0.backpack -v values.yaml

Get Help and learn more for each command

backpack help

Happy Backpacking! ๐ŸŽ’๐Ÿ˜€

Read More

Copyright and License

Copyright ยฉ 2020 Lorenzo Setale https://setale.me The full license is available in the file LICENSE

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.