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
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
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! 🎒😀
- How to build Backpack binaries from source code
- How to install Backpack from source code
- How to use backpack with Helm
Copyright © 2020 Lorenzo Setale https://setale.me The full license is available in the file LICENSE