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 installCreate your first pack, by using the boilerplate directory structure:
backpack create nginxPack 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.yamlPlan and validate (dry-run) the jobs of a package before running:
backpack plan ./nginx-0.1.0.backpack -v ./values.yamlRun your Nomad Jobs with my custom values:
backpack run ./nginx-0.1.0.backpack -v ./values.yamlCheck the status of the job allocations:
backpack status ./nginx-0.1.0.backpack --allUnpack, 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.yamlGet Help and learn more for each command
backpack helpHappy 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