Nomad (Server)

Overview

This is a flavour containing the nomad service orchestrator.

This flavour is configured as orchestration server. You need one or more nomad client instances that connect to this server and actually run the workload.

Since clients need to run jobs e.g. via pot, you need to install the client directly on a host; therefore you will not find a nomad client flavour on potluck.

Together with consul and the traefik pot flavours on this site, you can easily set up a virtual datacenter.

Please note that a specific network configuration is suggested (see Installation-chapter) as this jail does not work behind the NAT of a public-bridge.

Installation

  • Create your local jail from the image or the flavour files.
  • This jail does not work with a public bridge, so clone it to use an IP address directly on your host: sudo pot clone -P <nameofimportedjail> -p <clonejailname> -N alias -i "<interface>|<ipaddress>"
  • Optionally copy-in job files in jobname.nomad filenaming convention to /root/nomadjobs, repeat for multiple files sudo pot -p <clonejailname> copy-in -s /root/nomadjobs/jobname.nomad -d /root/nomadjobs/jobname.nomad
  • Adjust to your environment: sudo pot set-env -p <clonejailname> -E NODENAME=<name> -E DATACENTER=<datacentername> -E REGION=<identifier like east, west, global> -E NODENAME=<name of this node> -E IP=<IP address of this nomad instance> -E CONSULSERVERS=<comma-deliminated list of consul servers> [-E BOOTSTRAP=<1|3|5>] [-E GOSSIPKEY="<32 byte Base64 key from consul keygen>"] [ -E REMOTELOG="<IP syslog-ng server>" -E IMPORTJOBS=<1 to enable> -E RAFTMULTIPLIER=<int less than 10> -E DISABLEUI=<disables ui if set to any value> ]

The NODENAME parameter is the name of the node.

The DATACENTER parameter is the name of the datacenter. The REGION parameter is to set “east” or “west” or “global” (default).

The CONSULSERVERS parameter is a comma-deliminated list of IP addresses for the consul server or cluster. Do not include spaces!

e.g. CONSULSERVERS="10.0.0.2" or CONSULSERVERS="10.0.0.2,10.0.0.3,10.0.0.4,10.0.0.5,10.0.0.6"

The BOOTSTRAP parameter defines the expected number of cluster nodes, it defaults to 1 (no cluster) if it is not set. You MUST still pass in a consul IP under CONSULSERVERS.

The REGION parameter sets the region, or defaults to ‘global’ if not set.

The GOSSIPKEY parameter is the gossip encryption key for consul agent. We’re using a default key if the parameter is not set, do not use the default key for production encryption, instead provide your own. This key is also used as Nomad’s gossipkey.

The REMOTELOG parameter is the IP address of a remote syslog server to send logs to.

The IMPORTJOBS parameter is a binary flag to turn on automatic job imports. You must include steps to copy-in jobname.nomad to /root/nomadjobs/ and set this parameter to value of 1 to enable the import and running of copied-in nomad jobs.

The RAFTMULTIPLIER parameter is an optional setting to decrease sensitivity in a cluster. The default is 1 and you can experiment with values 2-5 if problems with leader elections.

The optional DISABLEUI parameter will disable the web UI if set to any value. The UI is enabled by default.

Usage

You can connect to the dashboard on port 4646 of your jail IP address.

To run a new job, connect to the jail via pot term <jailname> and run a nomad job description via nomad run -address=http://<jailip>:4646 <jobfile> or place the job via the dashboard.

Getting Started

How To Use The Ready-Made Image

FreeBSD 14.0:
pot import -p nomad-server-amd64-14_0 -t 3.14.1 -U https://potluck.honeyguide.net/nomad-server

With Signify Verification:
fetch https://potluck.honeyguide.net/potluck.pub; pot import -p nomad-server-amd64-14_0 -t 3.14.1 -C potluck.pub -U https://potluck.honeyguide.net/nomad-server

If you don’t want to use the default pot bridged network configuration but instead need an individual network setup (e.g. assign a host IP address), after importing it you can simply clone the jail like that (em0 is the host network adapter in this example):
pot clone -P nomad-server-amd64-14_0 -p my-cloned-jail -N alias -i "em0|10.10.10.10"

Note: Some images might require specific network configuration, double check the Overview-chapter at the top.

Alternatively: Create a Jail With This Flavour Yourself

1. Create Flavour Files

Save all files and directories from https://github.com/hny-gd/potluck/tree/master/nomad-server to /usr/local/etc/pot/flavours/

2. Create Jail From Flavour

Run
pot create -b <FreeBSD Version> -p <jailname> -t single -N public-bridge -f fbsd-update

with your FreeBSD version (e.g. 14.0) and the name your jail should get.

Note: Some images might require specific network configuration, double check the Overview-chapter at the top.

Version History

3.14

  • Version bump for new base image
  • FBSD14 base image

3.13

  • Version bump for new base image

3.12

  • Version bump for new base image

3.11

  • Version bump for new base image
  • Add data-dir to nomad_args

3.10

  • Version bump for new base image

3.9

  • Version bump for new base image

3.8

  • Version bump for new base image
  • Fix syslog-ng problems for 4.2 version, remove stats_freq option
  • Add local unbound for consul DNS resolution
  • Minor change to consul agent config to use retry_join instead of start_join
  • Add services to consul setup
  • Fix addition of services
  • Add consul DNS info to README
  • Fix JSON consul agent config for multiple services
  • fix local_unbound dns resolution with missing parameters for access control
  • Disable consul DNS option with local_unbound as is only practical in VNET jails with a localhost
  • Make nomad server config query consul on localhost
  • Add back IP search/replace for nomad server config removed in error

3.7

  • Version bump for new base image
  • Add optional DISABLEUI parameter

3.6

  • Version bump for new base image
  • Signified
  • Fix nologin shell for nodeexport user

3.5

  • Version increment for new feature
  • Pass in consul servers as a comma-deliminated list

3.4

  • Version bump for new base image
  • Update syslog-ng.conf stats_freq(0); -> stats(freq(0));
  • Remove quotes from variable as adjustment for list of consul servers to join
  • Add serf entry to nomad config, include TLS negatives
  • Add autopilot stanza to nomad config and disable some defaults to see if leader election improves in poor latency environments
  • Include parameter to set raft_multiplier value, or set to default of 1
  • Fix missing pipe in configure nomad script
  • Simplify nomad startup due to run errors with raft networks
  • Disable nomad update check

3.3

  • Missing version

3.2

  • Missing version

3.1

  • Version bump for new base image
  • Fix checklist
  • Shellcheck exclusions
  • Add ports to consul agent config
  • Fix permissions on /usr/local/libexec/nomad/plugins
  • Revert to consul JSON agent config file

3.0

  • Version bump for new base image
  • New changelog format

2.0.21

  • Version bump, missing file

2.0.20

  • Version bump for rebuild to fix missing images on potluck site

2.0.19

  • Version bump for p3 rebuild

2.0.18

  • Update for new nomad version
  • Added checklist

2.0.17

  • Fixing README for nomad jobs
  • Update consul hcl for new format tls settings

2.0.16

  • Version bump for new image and cook format

2.0.15

  • Version bump for FreeBSD-13.1 image

2.0.14

  • Fix /var/tmp/nomad issue
  • Add parameter to set regions

2.0.13

  • Automatic job import, plan, from copied-in job files in .nomad format

2.0.12

  • Implement working prometheus telemetry
  • Update README for REMOTELOG

2.0.11

  • Switch to syslog-ng

2.0.10

  • Changing method for setting up remote syslog as variable wasn’t expanding

2.0.9

  • Adding missing nodeexport user

2.0.8

  • Minor updates for telemetry and remote logs, latest version nomad

2.0.7

  • Rebuild for FreeBSD 12_3 and 13 & pot 13

2.0.6

  • Quoting gossip key encrypt parameter

2.0.5

  • Adjusting parameters for service “node-exporter”

2.0.4

  • Adding node_exporter and configuring consul to publish service at “node-exporter”

2.0.3

  • Updated to use gossip encryption for consul and nomad (re-using key)

2.0.2

  • Updated to use local consul agent

2.0.1

  • Rebuild for FreeBSD 13 & new packages

2.0

  • Updated to use latest flavour script, initial tweaks for nomad cluster in config

1.0.2

  • Trigger build of FreeBSD 12.2 image & rebuild FreeBSD 11.4 image to update packages

1.0.1

  • Fixed typo because of which DATACENTER was not set correctly

1.0

  • Initial commit

These images were built on Sun Mar 3 20:59:08 UTC 2024

Manual Image Download Links

nomad-server-amd64-14_0_3.14.1.xz ( )
nomad-server-amd64-14_0_3.14.1.xz.skein ( ) nomad-server-amd64-14_0_3.14.1.xz.skein.sig ( ) nomad-server-amd64-14_0_3.14.1.xz.meta ( )

Jenkins Pot Creation Logs

nomad-server-amd64-14_0_3.14.1:


nomad-server/nomad-server:
copy-in -s /usr/local/etc/pot/flavours/nomad-server.d/local -d /root/.pot_local
nomad-server/nomad-server.sh:
#!/bin/sh

# Based on POTLUCK TEMPLATE v3.0
# Altered by Michael Gmelin
#
# EDIT THE FOLLOWING FOR NEW FLAVOUR:
# 1. RUNS_IN_NOMAD - true or false
# 2. If RUNS_IN_NOMAD is false, can delete the <flavour>+4 file, else
#    make sure pot create command doesn't include it
# 3. Create a matching <flavour> file with this <flavour>.sh file that
#    contains the copy-in commands for the config files from <flavour>.d/
#    Remember that the package directories don't exist yet, so likely copy
#    to /root
# 4. Adjust package installation between BEGIN & END PACKAGE SETUP
# 5. Adjust jail configuration script generation between BEGIN & END COOK
#    Configure the config files that have been copied in where necessary

# Set this to true if this jail flavour is to be created as a nomad
# (i.e. blocking) jail.
# You can then query it in the cook script generation below and the script
# is installed appropriately at the end of this script
RUNS_IN_NOMAD=false

# set the cook log path/filename
COOKLOG=/var/log/cook.log

# check if cooklog exists, create it if not
if [ ! -e $COOKLOG ]
then
    echo "Creating $COOKLOG" | tee -a $COOKLOG
else
    echo "WARNING $COOKLOG already exists"  | tee -a $COOKLOG
fi
date >> $COOKLOG

# -------------------- COMMON ---------------

STEPCOUNT=0
step() {
  STEPCOUNT=$(("$STEPCOUNT" + 1))
  STEP="$*"
  echo "Step $STEPCOUNT: $STEP" | tee -a $COOKLOG
}

exit_ok() {
  trap - EXIT
  exit 0
}

FAILED=" failed"
exit_error() {
  STEP="$*"
  FAILED=""
  exit 1
}

set -e
trap 'echo ERROR: $STEP$FAILED | (>&2 tee -a $COOKLOG)' EXIT

# -------------- BEGIN PACKAGE SETUP -------------

step "Bootstrap package repo"
mkdir -p /usr/local/etc/pkg/repos
# only modify repo if not already done in base image
# shellcheck disable=SC2016
test -e /usr/local/etc/pkg/repos/FreeBSD.conf || \
  echo 'FreeBSD: { url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly" }' \
    >/usr/local/etc/pkg/repos/FreeBSD.conf
ASSUME_ALWAYS_YES=yes pkg bootstrap

step "Touch /etc/rc.conf"
touch /etc/rc.conf

# this is important, otherwise running /etc/rc from cook will
# overwrite the IP address set in tinirc
step "Remove ifconfig_epair0b from config"
# shellcheck disable=SC2015
sysrc -cq ifconfig_epair0b && sysrc -x ifconfig_epair0b || true

step "Disable sendmail"
service sendmail onedisable

step "Create /usr/local/etc/rc.d"
mkdir -p /usr/local/etc/rc.d

# we need consul for consul agent
step "Install package consul"
pkg install -y consul

step "Install package nomad"
pkg install -y nomad

step "Install package openssl"
pkg install -y openssl

step "Install package sudo"
pkg install -y sudo

# necessary if installing curl now
step "Install package ca_root_nss"
pkg install -y ca_root_nss

step "Install package curl"
pkg install -y curl

step "Install package jq"
pkg install -y jq

step "Install package jo"
pkg install -y jo

step "Install package nano"
pkg install -y nano

step "Install package bash"
pkg install -y bash

step "Install package node_exporter"
pkg install -y node_exporter

step "Install package syslog-ng"
pkg install -y syslog-ng

step "Clean package installation"
pkg clean -y

step "Create nomad jobs directory"
mkdir -p /root/nomadjobs

# -------------- END PACKAGE SETUP -------------

#
# Now generate the run command script "cook"
# It configures the system on the first run by creating the config file(s)
# On subsequent runs, it only starts sleeps (if nomad-jail) or simply exits
#

# this runs when image boots
# ----------------- BEGIN COOK ------------------

step "Clean cook artifacts"
rm -rf /usr/local/bin/cook /usr/local/share/cook

step "Install pot local"
tar -C /root/.pot_local -cf - . | tar -C /usr/local -xf -
rm -rf /root/.pot_local

step "Set file ownership on cook scripts"
chown -R root:wheel /usr/local/bin/cook /usr/local/share/cook
chmod 755 /usr/local/share/cook/bin/*

# ----------------- END COOK ------------------


# ---------- NO NEED TO EDIT BELOW ------------

step "Make cook script executable"
if [ -e /usr/local/bin/cook ]
then
    echo "setting executable bit on /usr/local/bin/cook" | tee -a $COOKLOG
    chmod u+x /usr/local/bin/cook
else
    exit_error "there is no /usr/local/bin/cook to make executable"
fi

#
# There are two ways of running a pot jail: "Normal", non-blocking mode and
# "Nomad", i.e. blocking mode (the pot start command does not return until
# the jail is stopped).
# For the normal mode, we create a /usr/local/etc/rc.d script that starts
# the "cook" script generated above each time, for the "Nomad" mode, the cook
# script is started by pot (configuration through flavour file), therefore
# we do not need to do anything here.
#

# Create rc.d script for "normal" mode:
step "Create rc.d script to start cook"
echo "creating rc.d script to start cook" | tee -a $COOKLOG

# shellcheck disable=SC2016
echo '#!/bin/sh
#
# PROVIDE: cook
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
. /etc/rc.subr
name="cook"
rcvar="cook_enable"
load_rc_config $name
: ${cook_enable:="NO"}
: ${cook_env:=""}
command="/usr/local/bin/cook"
command_args=""
run_rc_command "$1"
' > /usr/local/etc/rc.d/cook

step "Make rc.d script to start cook executable"
if [ -e /usr/local/etc/rc.d/cook ]
then
  echo "Setting executable bit on cook rc file" | tee -a $COOKLOG
  chmod u+x /usr/local/etc/rc.d/cook
else
  exit_error "/usr/local/etc/rc.d/cook does not exist"
fi

if [ "$RUNS_IN_NOMAD" != "true" ]
then
  step "Enable cook service"
  # This is a non-nomad (non-blocking) jail, so we need to make sure the script
  # gets started when the jail is started:
  # Otherwise, /usr/local/bin/cook will be set as start script by the pot
  # flavour
  echo "enabling cook" | tee -a $COOKLOG
  service cook enable
fi

# -------------------- DONE ---------------
exit_ok

nomad-server/nomad-server+1:
nomad-server/nomad-server+1.sh:

nomad-server/nomad-server+2:
nomad-server/nomad-server+2.sh:

nomad-server/nomad-server+3:
nomad-server/nomad-server+3.sh:

nomad-server/nomad-server+4:
nomad-server/nomad-server+4.sh:
=====>  Create conf dir (/mnt/srv/pot/jails/nomad-server-amd64-14_0/conf)
=====>  Cloning freebsd-potluck-amd64-14_0_0_0_22 with snap 
=====>  clone zroot/srv/pot/jails/freebsd-potluck-amd64-14_0_0_0_22/m@1709457007 into zroot/srv/pot/jails/nomad-server-amd64-14_0/m
=====>  Flavour: fbsd-update
=====>  Starting nomad-server-amd64-14_0 pot for the initial bootstrap
=====>  mount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
defaultrouter: 10.192.0.1 -> 10.192.0.1
===>  Starting the pot nomad-server-amd64-14_0
=====>  Pot nomad-server-amd64-14_0 jail params are: allow.set_hostname=false allow.raw_sockets allow.socket_af allow.chflags exec.clean mount.devfs enforce_statfs=2 sysvshm=new sysvsem=new sysvmsg=new children.max=0 devfs_ruleset=4 stop.timeout=10 name=nomad-server-amd64-14_0 host.hostname=nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net osrelease=14.0-RELEASE-p5 path=/mnt/srv/pot/jails/nomad-server-amd64-14_0/m persist vnet vnet.interface=epair0b
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg
32-bit compatibility ldconfig path: /usr/lib32
Starting Network: lo0 epair0b.
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
	options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
	groups: lo
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
epair0b: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
	options=8<VLAN_MTU>
	ether 02:b5:e8:d3:73:0b
	inet 10.192.0.3 netmask 0xffc00000 broadcast 10.255.255.255
	groups: epair
	media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
	status: active
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add net default: gateway 10.192.0.1
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Clearing /tmp (X related).
Updating /var/run/os-release done.
Creating and/or trimming log files.
Updating motd:.
Starting syslogd.
Starting sendmail_submit.
Starting cron.

Sun Mar  3 20:56:30 UTC 2024
/usr/local/etc/pot/flavours/fbsd-update.sh -> /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp/fbsd-update.sh
=====>  Executing fbsd-update script on nomad-server-amd64-14_0
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.

No updates needed to update system to 14.0-RELEASE-p5.
No updates are available to install.
=====>  Stop the pot nomad-server-amd64-14_0
=====>  Remove p465e4e3fc7c02 epair network interfaces
=====>  unmount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
=====>  unmount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/dev
=====>  Flavour: nomad-server
=====>  Executing nomad-server pot commands on nomad-server-amd64-14_0
=====>  mount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
=====>  Source /usr/local/etc/pot/flavours/nomad-server.d/local copied in the pot nomad-server-amd64-14_0
=====>  unmount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
=====>  /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/dev is already unmounted
=====>  Starting nomad-server-amd64-14_0 pot for the initial bootstrap
=====>  mount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
defaultrouter: 10.192.0.1 -> 10.192.0.1
===>  Starting the pot nomad-server-amd64-14_0
=====>  Pot nomad-server-amd64-14_0 jail params are: allow.set_hostname=false allow.raw_sockets allow.socket_af allow.chflags exec.clean mount.devfs enforce_statfs=2 sysvshm=new sysvsem=new sysvmsg=new children.max=0 devfs_ruleset=4 stop.timeout=10 name=nomad-server-amd64-14_0 host.hostname=nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net osrelease=14.0-RELEASE-p5 path=/mnt/srv/pot/jails/nomad-server-amd64-14_0/m persist vnet vnet.interface=epair0b
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg
32-bit compatibility ldconfig path: /usr/lib32
Starting Network: lo0 epair0b.
lo0: flags=1008049<UP,LOOPBACK,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 16384
	options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
	inet 127.0.0.1 netmask 0xff000000
	inet6 ::1 prefixlen 128
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
	groups: lo
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
epair0b: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1500
	options=8<VLAN_MTU>
	ether 02:00:dd:d0:29:0b
	inet 10.192.0.3 netmask 0xffc00000 broadcast 10.255.255.255
	groups: epair
	media: Ethernet 10Gbase-T (10Gbase-T <full-duplex>)
	status: active
	nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add net default: gateway 10.192.0.1
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Clearing /tmp (X related).
Updating /var/run/os-release done.
Creating and/or trimming log files.
Updating motd:.
Starting syslogd.
Starting sendmail_submit.
Starting cron.

Sun Mar  3 20:56:59 UTC 2024
/usr/local/etc/pot/flavours/nomad-server.sh -> /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp/nomad-server.sh
=====>  Executing nomad-server script on nomad-server-amd64-14_0
WARNING /var/log/cook.log already exists
Step 1: Bootstrap package repo
pkg already bootstrapped at /usr/local/sbin/pkg
Step 2: Touch /etc/rc.conf
Step 3: Remove ifconfig_epair0b from config
Step 4: Disable sendmail
sendmail disabled in /etc/rc.conf
sendmail_submit disabled in /etc/rc.conf
sendmail_msp_queue disabled in /etc/rc.conf
Step 5: Create /usr/local/etc/rc.d
Step 6: Install package consul
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	consul: 1.17.1

Number of packages to be installed: 1

The process will require 118 MiB more space.
23 MiB to be downloaded.
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Fetching consul-1.17.1.pkg: .......... done
Checking integrity... done (0 conflicting)
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Installing consul-1.17.1...
===> Creating groups.
Creating group 'consul' with gid '469'.
===> Creating users
Creating user 'consul' with uid '469'.
===> Creating homedir(s)
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Extracting consul-1.17.1: ..... done
Step 7: Install package nomad
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	nomad: 1.6.2_1

Number of packages to be installed: 1

The process will require 65 MiB more space.
17 MiB to be downloaded.
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Fetching nomad-1.6.2_1.pkg: .......... done
Checking integrity... done (0 conflicting)
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Installing nomad-1.6.2_1...
===> Creating groups.
Creating group 'nomad' with gid '472'.
===> Creating users
Creating user 'nomad' with uid '472'.
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Extracting nomad-1.6.2_1: ........ done
Step 8: Install package openssl
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 9: Install package sudo
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 10: Install package ca_root_nss
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 11: Install package curl
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 12: Install package jq
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 13: Install package jo
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 14: Install package nano
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 15: Install package bash
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed
Step 16: Install package node_exporter
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	node_exporter: 1.6.1_1

Number of packages to be installed: 1

The process will require 11 MiB more space.
4 MiB to be downloaded.
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Fetching node_exporter-1.6.1_1.pkg: .......... done
Checking integrity... done (0 conflicting)
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Installing node_exporter-1.6.1_1...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/1] Extracting node_exporter-1.6.1_1: .......... done
=====
Message from node_exporter-1.6.1_1:

--
If upgrading from a version of node_exporter <0.15.0 you'll need to update any
custom command line flags that you may have set as it now requires a
double-dash (--flag) instead of a single dash (-flag).
The collector flags in 0.15.0 have now been replaced with individual boolean
flags and the -collector.procfs` and -collector.sysfs` flags have been renamed
to --path.procfs and --path.sysfs respectively.
Step 17: Install package syslog-ng
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 10 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	e2fsprogs-libuuid: 1.47.0
	glib: 2.78.3,2
	ivykis: 0.42.4_1
	json-c: 0.17
	libffi: 3.4.4
	libxml2: 2.10.4_2
	mpdecimal: 2.5.1
	pcre2: 10.42
	python39: 3.9.18
	syslog-ng: 4.4.0

Number of packages to be installed: 10

The process will require 165 MiB more space.
26 MiB to be downloaded.
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/10] Fetching ivykis-0.42.4_1.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [2/10] Fetching libxml2-2.10.4_2.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [3/10] Fetching mpdecimal-2.5.1.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [4/10] Fetching python39-3.9.18.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [5/10] Fetching glib-2.78.3,2.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [6/10] Fetching syslog-ng-4.4.0.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [7/10] Fetching pcre2-10.42.pkg: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [8/10] Fetching libffi-3.4.4.pkg: ........ done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [9/10] Fetching json-c-0.17.pkg: ..... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [10/10] Fetching e2fsprogs-libuuid-1.47.0.pkg: ........ done
Checking integrity... done (0 conflicting)
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/10] Installing mpdecimal-2.5.1...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [1/10] Extracting mpdecimal-2.5.1: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [2/10] Installing libffi-3.4.4...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [2/10] Extracting libffi-3.4.4: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [3/10] Installing libxml2-2.10.4_2...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [3/10] Extracting libxml2-2.10.4_2: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [4/10] Installing python39-3.9.18...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [4/10] Extracting python39-3.9.18: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [5/10] Installing pcre2-10.42...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [5/10] Extracting pcre2-10.42: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [6/10] Installing ivykis-0.42.4_1...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [6/10] Extracting ivykis-0.42.4_1: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [7/10] Installing glib-2.78.3,2...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [7/10] Extracting glib-2.78.3,2: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [8/10] Installing json-c-0.17...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [8/10] Extracting json-c-0.17: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [9/10] Installing e2fsprogs-libuuid-1.47.0...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [9/10] Extracting e2fsprogs-libuuid-1.47.0: .......... done
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [10/10] Installing syslog-ng-4.4.0...
[nomad-server-amd64-14_0.vsf00001.cpt.za.honeyguide.net] [10/10] Extracting syslog-ng-4.4.0: .......... done
==> Running trigger: glib-schemas.ucl
Compiling glib schemas
No schema files found: doing nothing.
==> Running trigger: gio-modules.ucl
Generating GIO modules cache
=====
Message from python39-3.9.18:

--
Note that some standard Python modules are provided as separate ports
as they require additional dependencies. They are available as:

py39-gdbm       databases/py-gdbm@py39
py39-sqlite3    databases/py-sqlite3@py39
py39-tkinter    x11-toolkits/py-tkinter@py39
=====
Message from syslog-ng-4.4.0:

--
syslog-ng is now installed!  To replace FreeBSD's standard syslogd
(/usr/sbin/syslogd), complete these steps:

1. Create a configuration file named /usr/local/etc/syslog-ng.conf
   (a sample named syslog-ng.conf.sample has been included in
   /usr/local/etc). Note that this is a change in 2.0.2
   version, previous ones put the config file in
   /usr/local/etc/syslog-ng/syslog-ng.conf, so if this is an update
   move that file in the right place

2. Configure syslog-ng to start automatically by adding the following
   to /etc/rc.conf:

        syslog_ng_enable="YES"

3. Prevent the standard FreeBSD syslogd from starting automatically by
   adding a line to the end of your /etc/rc.conf file that reads:

        syslogd_enable="NO"

4. Shut down the standard FreeBSD syslogd:

     kill `cat /var/run/syslog.pid`

5. Start syslog-ng:

     /usr/local/etc/rc.d/syslog-ng start
Step 18: Clean package installation
Nothing to do.
Step 19: Create nomad jobs directory
Step 20: Clean cook artifacts
Step 21: Install pot local
Step 22: Set file ownership on cook scripts
Step 23: Make cook script executable
setting executable bit on /usr/local/bin/cook
Step 24: Create rc.d script to start cook
creating rc.d script to start cook
Step 25: Make rc.d script to start cook executable
Setting executable bit on cook rc file
Step 26: Enable cook service
enabling cook
cook enabled in /etc/rc.conf
=====>  Stop the pot nomad-server-amd64-14_0
=====>  Remove p465e4e41a7c02 epair network interfaces
=====>  unmount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/tmp
=====>  unmount /mnt/srv/pot/jails/nomad-server-amd64-14_0/m/dev
===>  exporting nomad-server-amd64-14_0 @ 1709499466 to /tmp/nomad-server-amd64-14_0_3.14.1.xz
xz: Reduced the number of threads from 4 to 3 to not exceed the memory usage limit of 503 MiB

This site © Honeyguide Group (Pty) Ltd, all the hosted software their respective license owners 2020 - 2021 - Disclaimer