workloads / nomad-pack-registry

Nomad Pack Registry
https://github.com/workloads/nomad-pack-registry
2 stars 0 forks source link
nomad nomad-packs

Nomad Pack Registry

This repository manages Nomad Packs for @workloads.

Table of Contents

Available Packs

Pack Name Description Task Driver(s)
boundary_worker HCP Boundary Workers exec^exec, raw_exec^raw_exec
datadog_agent Datadog Agents raw_exec^raw_exec
flagd OpenFeature flagd (Docker, Podman) docker^docker, podman^podman
hello_world Nomad feature-testing exec^exec, raw_exec^raw_exec
minecraft_bedrock_edition Minecraft (Bedrock Edition) docker^docker, podman^podman
minecraft_java_edition Minecraft (Java Edition) docker^docker, podman^podman
rcon_web RCON Web (for Minecraft etc.) docker^docker, podman^podman

Requirements

Development

For development and testing of this repository:

Usage

This repository provides a Makefile-based workflow.

Running make without commands will print out the following help information:

env             create Nomad environment for testing            `make env pack=<pack>`
render          render a Nomad Pack                             `make render pack=<pack>`
run             run a Nomad Pack                                `make run pack=<pack>`
rerun           destroy and run a Nomad Pack                    `make rerun pack=<pack>`
stop            stop a running Nomad Pack                       `make stop pack=<pack>`
test            test a running Nomad Pack                       `make test pack=<pack>`
restart         restart a Task                                  `make restart task=<task>`
format          format HCL files for all Nomad Packs            `make format`
docs            generate documentation for all Nomad Packs      `make docs`
registry        add Nomad Pack Registry to local environment    `make registry`
help            display a list of Make Targets                  `make help`
_listincludes   list all included Makefiles and *.mk files      `make _listincludes`
_selfcheck      lint Makefile                                   `make _selfcheck`

Adding the Nomad Pack Registry

This Nomad Pack Registry may be added to an environment like so:

make registry

For more information see developer.hashicorp.com.

Running a Nomad Pack

Nomad Packs are stored in the ./packs directory and feature detailed documentation and accompanying files.

A Nomad Pack may be run like so:

make run pack=<pack>

Testing a Nomad Pack

The Nomad Packs in this Registry provide a test harness that may be used to verify the functionality of the Pack.

The harness is exposed through the make env and make test targets:

The make env command automatically creates any directories and variables that are set in ./tests/test.mk.

Additionally, ./tests/gitignored_config.mk may be used to set sensitive variables, such as API tokens, that should not be committed to version control.

Notes

export NO_COLOR=1 && make
 make render pack=<pack> ARGS="--render-output-template"
# override `nomad` binary
make render pack=<pack> BINARY_NOMAD=/tmp/nomad

# override `nomad-pack` binary
make render pack=<pack> BINARY_NOMAD_PACK=/tmp/nomad-pack
# override `newman` reporter
make render pack=<pack> NEWMAN_REPORTERS="progress"

Contributors

For a list of current (and past) contributors to this repository, see GitHub.

License

Licensed under the Apache License, Version 2.0 (the "License").

You may download a copy of the License at apache.org/licenses/LICENSE-2.0.

See the License for the specific language governing permissions and limitations under the License.