Nomad Pack Waypoint Plugin

Hey Waypointers!

I’ve finished the MVP for a Nomad Pack platform plugin! :smiley: Check it out and let me know what you think!

For anyone unfamiliar with Nomad Pack, you can find more details here, but I think it can safely be summarized as a templating tool for Nomad jobs! It is still currently in Tech Preview.

With custom (non-built-in) Waypoint plugins, one needs to download and install the plugin binary to use it locally, or in an ODR. That is the case here, however I’ve also published a customized & extended Waypoint on-demand runner image, so you can use it right away in ODRs! With the command below, you can create a runner profile that uses this image, and if your project has remote ops configured, and you have a static runner, you can start deploying Nomad Packs right away!

waypoint runner profile set -plugin-type=docker -oci-url=paladindevops/waypoint-odr-nomad-pack:latest -name=docker-nomad-pack -default

This image includes the binary for this plugin, as well as the Nomad Pack binary and the Git CLI. This plugin currently is just running Nomad Pack commands directly via Go code; but there are still benefits to this with Waypoint, namely that remote operations provide a remote execution environment when you have it configured for Waypoint! See the README of the plugin repo as well as the Waypoint documentation for more details on how to configure that.

6 Likes

Finally getting around to playing with this. I am glad you put this together. I have been using nomad-pack for all our deployments via the cli and now I am taking another stab at Waypoint. I will see how it goes.

Looks like there is no support for render or local files.