Wanderer: Automatic deployment of Nomad jobs via GitHub Actions

Wanderer is a self-hosted deployment tool for Nomad orchestrated jobs.

Wanderer: Automatic deployment of Nomad jobs via GitHub Actions
14 Sep 2022
|
2 min read

Wanderer on GitHub

What

Wanderer is a self-hosted deployment tool for Nomad orchestrated jobs.

Features

  • Provides a centralized repository for Nomad HCL templates

  • Offers API for CD tools to automate deployment of new versions

  • Simple Web UI for editing templates & monitoring deployments

  • Supports Nomad instances behind Cloudflare Access Zero Trust network

  • GitHub Actions Workflow available for easy pipeline integration

UI

Wanderer comes with a basic Web GUI which provides all necessary operations such as editing Nomad clusters, templates or issuing API tokens.

Nice to know: There is not a single line of JavaScript.

Deploy in Nomad

You can also deploy Wanderer in your Nomad cluster. This is an example HCL template:

 1job "wanderer" {
 2  datacenters = ["dc1"]
 3  type        = "service"
 4
 5  group "wanderer" {
 6    count = 1
 7
 8    network {
 9      mode = "bridge"
10
11      port "http" {
12        to = 8080
13      }
14    }
15
16    service {
17      name = "wanderer"
18      port = "http"
19    }
20
21    task "wanderer" {
22      driver = "docker"
23
24      config {
25        image = "ghcr.io/romanzipp/wanderer:1.1.2"
26        ports = ["http"]
27
28        mount {
29          type     = "bind"
30          target   = "/.env"
31          source   = "/your-shared-data/wanderer/.env"
32          readonly = true
33          bind_options {
34            propagation = "rshared"
35          }
36        }
37
38        mount {
39          type     = "bind"
40          target   = "/data/"
41          source   = "/your-shared-data/wanderer/data/"
42          readonly = false
43          bind_options {
44            propagation = "rshared"
45          }
46        }
47      }
48    }
49  }
50}

More Information

See Wanderer on GitHub.


Read more...