1
0
Fork 0
Nomad's Backpack: Helm but for Nomad
This repository has been archived on 2025-06-10. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • Go 75.6%
  • HCL 22.7%
  • Makefile 1.7%
Find a file
2020-11-15 22:29:38 +00:00
cmd minor changes to description 2020-11-15 23:09:47 +01:00
conn shows allocation status 2020-11-15 23:08:04 +01:00
docs adds link to chatroom 2020-11-15 20:40:41 +01:00
pkg renames Backpack{} to Pack{} 2020-11-15 18:39:45 +01:00
templating renames Backpack{} to Pack{} 2020-11-15 18:39:45 +01:00
test_files renames Backpack{} to Pack{} 2020-11-15 18:39:45 +01:00
.gitignore adds some docs and updates the makefile/pipeline 2020-10-01 12:41:26 +02:00
.gitlab-ci.yml disables build:development on tags 2020-11-15 13:35:40 +01:00
CHANGELOG.md updates the changelog for the relase [skip ci] 2020-11-15 23:29:00 +01:00
go.mod removes unnecessary dependencies 2020-11-15 18:49:59 +01:00
go.sum removes unnecessary dependencies 2020-11-15 18:49:59 +01:00
LICENSE adds changelog and License 2020-09-09 19:37:19 +02:00
main.go adds cobra cmd 2020-08-23 14:25:31 +02:00
Makefile fixes minor typos and updates dependencies 2020-11-15 14:18:35 +01:00
README.md uses the right flat for realzy [skip ci] 2020-11-15 23:22:32 +01:00

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