Skip to content

koalalorenzo/backpack

Repository files navigation

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