Saltstack

Overview

This is a flavour containing the salt configuration management and orchestration tool.

The flavour expects a local consul agent instance to be available that it can connect to (see configuration below). You can e.g. use the consul pot flavour on this site to run consul. If no consul instance is available at first, make sure it’s up within an hour and the certificate renewal process will restart consul. You can also connect to this host and service consul restart manually.

Installation

  • [cluster node] Create a ZFS data set on the parent system beforehand: zfs create -o mountpoint=/mnt/saltdata zroot/saltdata
  • Create your local jail from the image or the flavour files.
  • Mount in the ZFS data set you created: pot mount-in -p <jailname> -m /mnt -d /mnt/saltdata
  • [optional] Copy in the primary keys from an existing master:
    pot copy-in -p <jailname> -s /path/to/master.pem -d /root/master.pem
    pot copy-in -p <jailname> -s /path/to/master.pub -d /root/master.pub
    
  • Adjust to your environment:
    sudo pot set-env -p <jailname> \
    -E DATACENTER=<datacentername> \
    -E NODENAME=<nodename> \
    -E IP=<IP address of this node> \
    -E PKIPATH="/mnt/salt/pki/master" \
    -E STATEPATH="/mnt/salt/state" \
    -E PILLARPATH="/mnt/salt/pillar" \
    -E SSHUSER=<username> \
    -E CONSULSERVERS="<comma-deliminated list of consul servers>" \
    -E GOSSIPKEY="<32 byte Base64 key from consul keygen>" \
    [ -E REMOTELOG=<remote syslog IP> ]
    

The PKIPATH parameter is the location of the mounted-in persistent storage, ideally /mnt/salt/pki/master/. Please quote the path.

If existing keys are copied in, they will overwrite the data in /mnt/salt/pki/master/.

The STATEPATH parameter is the location of the mounted-in persistent storage for state files, ideally /mnt/salt/state. Please quote the path.

The PILLARPATH parameter is the location of mounted-in persistent storage for private data, ideally /mnt/salt/pillar. Please quote the path.

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 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.

The SSHUSER parameter is used to create a user with SSH keys for remote access.

The SSHPORT parameter is to custom set the port SSH runs on. It defaults to port 7777 which is not a standard SSH port.

REMOTELOG is an optional parameter for a remote syslog service, such as via the loki or beast-of-argh images on potluck site.

Usage

SSH to host and run salt commands:

• salt-key -L                                       :: List minions
• salt-key -A -y                                    :: Register new minions after the minion service has been started
• salt '*' test.ping                                :: Test all minions
• salt 'minion.intra.domain.org' cmd.run 'uname -r' :: Run command on a minion
• salt '*' state.highstate                          :: Apply high state to all minions

Getting Started

How To Use The Ready-Made Image

FreeBSD 14.0:
pot import -p saltstack-amd64-14_0 -t 0.14.1 -U https://potluck.honeyguide.net/saltstack

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

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 saltstack-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/saltstack 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

0.14

  • Version bump for new base image
  • Fix node_exporter zfs issue

0.13

  • Version bump for new base image
  • FBSD14 base image
  • Make sure py39-tornado is installed

0.12

  • Version bump for new base image

0.11

  • Version bump for new base image

0.10

  • Version bump for new base image

0.9

  • Version bump for new base image

0.8

  • Version bump for new base image

0.7

  • Version bump for new base image
  • Fix syslog-ng problems for 4.2 version, remove stats_freq option
  • Add local unbound and consul DNS services
  • Update README with consul DNS info
  • 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

0.6

  • Version bump for new base image

0.5

  • Version bump for new base image
  • Signified
  • Fix nologin shell for nodeexport user
  • Remove existing ssh key for user-configured saltuser if exists
  • Adjust formatting of parameters in README
  • Fix services start for sshd and node_exporter

0.4

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

0.3

  • Version bump for new base image
  • Update syslog-ng.conf stats_freq(0); -> stats(freq(0));

0.2

  • Version bump for new base image

0.1

  • Version bump for new base image
  • New changelog format

0.0.11

  • Fix consul client hcl for new format

0.0.10

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

0.0.9

  • Version bump for p3 rebuild

0.0.8

  • Version bump for new base image, cook script

0.0.7

  • Version bump for FreeBSD-13.1 image

0.0.6

  • Including salt-lint installed via pip

0.0.5

  • Adding syslog-ng and remote logging

0.0.4

  • Rebuild for FreeBSD 12_3 and 13 & pot 13

0.0.3

  • Adding gossip key to consul config

0.0.2

  • Updates for primary key management and simple multi-master implementation

0.0.1

  • First saltstack image

0.0

  • initiate file

These images were built on Mon Apr 22 20:32:31 UTC 2024

Manual Image Download Links

saltstack-amd64-14_0_0.14.1.xz ( )
saltstack-amd64-14_0_0.14.1.xz.skein ( ) saltstack-amd64-14_0_0.14.1.xz.skein.sig ( ) saltstack-amd64-14_0_0.14.1.xz.meta ( )

Jenkins Pot Creation Logs

saltstack-amd64-14_0_0.14.1:


saltstack/saltstack:
copy-in -s /usr/local/etc/pot/flavours/saltstack.d/local -d /root/.pot_local
saltstack/saltstack.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 node_exporter"
pkg install -y node_exporter

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 syslog-ng"
pkg install -y syslog-ng

step "Install package py39-salt"
pkg install -y py39-salt

step "Install py39-pip"
pkg install -y py39-pip

step "Install py39-tornado"
pkg install -y py39-tornado

step "Install package git-lite"
pkg install -y git-lite

step "Install package go"
pkg install -y go

step "Install package gmake"
pkg install -y gmake

step "Install package tmux"
pkg install -y tmux

step "Install salt-lint via pip"
pip install --prefix /usr/local salt-lint

step "Clean package installation"
pkg autoremove -y
pkg clean -y

# -------------- 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

saltstack/saltstack+1:
saltstack/saltstack+1.sh:

saltstack/saltstack+2:
saltstack/saltstack+2.sh:

saltstack/saltstack+3:
saltstack/saltstack+3.sh:

saltstack/saltstack+4:
saltstack/saltstack+4.sh:
=====>  Create conf dir (/mnt/srv/pot/jails/saltstack-amd64-14_0/conf)
=====>  Cloning freebsd-potluck-amd64-14_0_0_0_23 with snap 
=====>  clone zroot/srv/pot/jails/freebsd-potluck-amd64-14_0_0_0_23/m@1713115286 into zroot/srv/pot/jails/saltstack-amd64-14_0/m
=====>  Flavour: fbsd-update
=====>  Starting saltstack-amd64-14_0 pot for the initial bootstrap
=====>  mount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
defaultrouter: 10.192.0.1 -> 10.192.0.1
===>  Starting the pot saltstack-amd64-14_0
=====>  Pot saltstack-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=saltstack-amd64-14_0 host.hostname=saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net osrelease=14.0-RELEASE-p6 path=/mnt/srv/pot/jails/saltstack-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:11:eb:17:e9: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.

Mon Apr 22 20:26:32 UTC 2024
/usr/local/etc/pot/flavours/fbsd-update.sh -> /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp/fbsd-update.sh
=====>  Executing fbsd-update script on saltstack-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-p6.
No updates are available to install.
=====>  Stop the pot saltstack-amd64-14_0
=====>  Remove p46626c7f577f7 epair network interfaces
=====>  unmount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
=====>  unmount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/dev
=====>  Flavour: saltstack
=====>  Executing saltstack pot commands on saltstack-amd64-14_0
=====>  mount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
=====>  Source /usr/local/etc/pot/flavours/saltstack.d/local copied in the pot saltstack-amd64-14_0
=====>  unmount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
=====>  /mnt/srv/pot/jails/saltstack-amd64-14_0/m/dev is already unmounted
=====>  Starting saltstack-amd64-14_0 pot for the initial bootstrap
=====>  mount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
defaultrouter: 10.192.0.1 -> 10.192.0.1
===>  Starting the pot saltstack-amd64-14_0
=====>  Pot saltstack-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=saltstack-amd64-14_0 host.hostname=saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net osrelease=14.0-RELEASE-p6 path=/mnt/srv/pot/jails/saltstack-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:cb:c6:1c:d0: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.

Mon Apr 22 20:27:16 UTC 2024
/usr/local/etc/pot/flavours/saltstack.sh -> /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp/saltstack.sh
=====>  Executing saltstack script on saltstack-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...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] Fetching data.pkg: .......... done
Processing entries: .......... done
FreeBSD repository update completed. 34050 packages processed.
All repositories are up to date.
New version of pkg detected; it needs to be installed first.
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	pkg: 1.21.1 -> 1.21.2

Number of packages to be upgraded: 1

12 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching pkg-1.21.2.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Upgrading pkg from 1.21.1 to 1.21.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting pkg-1.21.2: .......... done
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.18.1_1

Number of packages to be installed: 1

The process will require 121 MiB more space.
24 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching consul-1.18.1_1.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Installing consul-1.18.1_1...
===> Creating groups.
Creating group 'consul' with gid '469'.
===> Creating users
Creating user 'consul' with uid '469'.
===> Creating homedir(s)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting consul-1.18.1_1: ..... done
Step 7: 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_4

Number of packages to be installed: 1

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

--
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 8: Install package openssl
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):

Installed packages to be UPGRADED:
	openssl: 3.0.13_2,1 -> 3.0.13_3,1

Number of packages to be upgraded: 1

6 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching openssl-3.0.13_3,1.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Upgrading openssl from 3.0.13_2,1 to 3.0.13_3,1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting openssl-3.0.13_3,1: .......... done
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 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.80.0,2
	ivykis: 0.43_1
	json-c: 0.17
	libffi: 3.4.4_1
	mpdecimal: 4.0.0
	pcre2: 10.43
	py39-packaging: 23.2
	python39: 3.9.18_2
	syslog-ng: 4.6.0_2

Number of packages to be installed: 10

The process will require 158 MiB more space.
25 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/10] Fetching ivykis-0.43_1.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/10] Fetching mpdecimal-4.0.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/10] Fetching python39-3.9.18_2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/10] Fetching glib-2.80.0,2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/10] Fetching syslog-ng-4.6.0_2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/10] Fetching pcre2-10.43.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/10] Fetching libffi-3.4.4_1.pkg: ........ done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/10] Fetching py39-packaging-23.2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/10] Fetching json-c-0.17.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/10] Fetching e2fsprogs-libuuid-1.47.0.pkg: ....... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/10] Installing mpdecimal-4.0.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/10] Extracting mpdecimal-4.0.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/10] Installing libffi-3.4.4_1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/10] Extracting libffi-3.4.4_1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/10] Installing python39-3.9.18_2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/10] Extracting python39-3.9.18_2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/10] Installing pcre2-10.43...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/10] Extracting pcre2-10.43: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/10] Installing py39-packaging-23.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/10] Extracting py39-packaging-23.2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/10] Installing ivykis-0.43_1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/10] Extracting ivykis-0.43_1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/10] Installing glib-2.80.0,2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/10] Extracting glib-2.80.0,2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/10] Installing json-c-0.17...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/10] Extracting json-c-0.17: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/10] Installing e2fsprogs-libuuid-1.47.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/10] Extracting e2fsprogs-libuuid-1.47.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/10] Installing syslog-ng-4.6.0_2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/10] Extracting syslog-ng-4.6.0_2: .......... 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_2:

--
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.6.0_2:

--
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 17: Install package py39-salt
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 28 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	libinotify: 20211018_1
	libsodium: 1.0.18
	libyaml: 0.2.5
	libzmq4: 4.3.5
	norm: 1.5r6_3
	openpgm: 5.2.122_6
	py39-Babel: 2.14.0
	py39-Jinja2: 3.1.3
	py39-certifi: 2024.2.2
	py39-charset-normalizer: 3.3.2
	py39-distro: 1.9.0
	py39-idna: 3.7
	py39-jmespath: 1.0.1
	py39-libcloud: 3.8.0
	py39-looseversion: 1.3.0
	py39-markupsafe: 2.1.5
	py39-msgpack: 1.0.8
	py39-progressbar: 2.5
	py39-psutil: 5.9.8
	py39-pycryptodomex: 3.20.0
	py39-pyinotify: 0.9.6
	py39-pysocks: 1.7.1
	py39-pyzmq: 25.0.2
	py39-requests: 2.31.0
	py39-salt: 3007.0
	py39-setuptools: 63.1.0_1
	py39-urllib3: 1.26.18,1
	py39-yaml: 6.0.1

Number of packages to be installed: 28

The process will require 149 MiB more space.
26 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/28] Fetching py39-setuptools-63.1.0_1.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/28] Fetching py39-libcloud-3.8.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/28] Fetching py39-yaml-6.0.1.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/28] Fetching py39-jmespath-1.0.1.pkg: ......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/28] Fetching py39-Jinja2-3.1.3.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/28] Fetching py39-urllib3-1.26.18,1.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/28] Fetching libzmq4-4.3.5.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/28] Fetching py39-pyinotify-0.9.6.pkg: ......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/28] Fetching py39-Babel-2.14.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/28] Fetching py39-charset-normalizer-3.3.2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [11/28] Fetching py39-certifi-2024.2.2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [12/28] Fetching py39-salt-3007.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [13/28] Fetching py39-requests-2.31.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [14/28] Fetching py39-distro-1.9.0.pkg: ..... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [15/28] Fetching py39-pysocks-1.7.1.pkg: ..... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [16/28] Fetching libyaml-0.2.5.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [17/28] Fetching py39-pyzmq-25.0.2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [18/28] Fetching libsodium-1.0.18.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [19/28] Fetching py39-progressbar-2.5.pkg: ... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [20/28] Fetching py39-psutil-5.9.8.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [21/28] Fetching py39-pycryptodomex-3.20.0.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [22/28] Fetching norm-1.5r6_3.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [23/28] Fetching py39-markupsafe-2.1.5.pkg: .... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [24/28] Fetching openpgm-5.2.122_6.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [25/28] Fetching py39-msgpack-1.0.8.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [26/28] Fetching py39-looseversion-1.3.0.pkg: .. done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [27/28] Fetching py39-idna-3.7.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [28/28] Fetching libinotify-20211018_1.pkg: .... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/28] Installing py39-setuptools-63.1.0_1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/28] Extracting py39-setuptools-63.1.0_1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/28] Installing py39-pysocks-1.7.1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/28] Extracting py39-pysocks-1.7.1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/28] Installing py39-urllib3-1.26.18,1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [3/28] Extracting py39-urllib3-1.26.18,1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/28] Installing py39-charset-normalizer-3.3.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [4/28] Extracting py39-charset-normalizer-3.3.2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/28] Installing py39-certifi-2024.2.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [5/28] Extracting py39-certifi-2024.2.2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/28] Installing libsodium-1.0.18...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [6/28] Extracting libsodium-1.0.18: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/28] Installing norm-1.5r6_3...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [7/28] Extracting norm-1.5r6_3: .... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/28] Installing openpgm-5.2.122_6...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [8/28] Extracting openpgm-5.2.122_6: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/28] Installing py39-idna-3.7...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [9/28] Extracting py39-idna-3.7: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/28] Installing libzmq4-4.3.5...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [10/28] Extracting libzmq4-4.3.5: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [11/28] Installing py39-Babel-2.14.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [11/28] Extracting py39-Babel-2.14.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [12/28] Installing py39-requests-2.31.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [12/28] Extracting py39-requests-2.31.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [13/28] Installing libyaml-0.2.5...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [13/28] Extracting libyaml-0.2.5: ......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [14/28] Installing py39-markupsafe-2.1.5...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [14/28] Extracting py39-markupsafe-2.1.5: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [15/28] Installing libinotify-20211018_1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [15/28] Extracting libinotify-20211018_1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [16/28] Installing py39-libcloud-3.8.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [16/28] Extracting py39-libcloud-3.8.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [17/28] Installing py39-yaml-6.0.1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [17/28] Extracting py39-yaml-6.0.1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [18/28] Installing py39-jmespath-1.0.1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [18/28] Extracting py39-jmespath-1.0.1: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [19/28] Installing py39-Jinja2-3.1.3...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [19/28] Extracting py39-Jinja2-3.1.3: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [20/28] Installing py39-pyinotify-0.9.6...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [20/28] Extracting py39-pyinotify-0.9.6: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [21/28] Installing py39-distro-1.9.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [21/28] Extracting py39-distro-1.9.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [22/28] Installing py39-pyzmq-25.0.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [22/28] Extracting py39-pyzmq-25.0.2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [23/28] Installing py39-progressbar-2.5...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [23/28] Extracting py39-progressbar-2.5: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [24/28] Installing py39-psutil-5.9.8...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [24/28] Extracting py39-psutil-5.9.8: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [25/28] Installing py39-pycryptodomex-3.20.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [25/28] Extracting py39-pycryptodomex-3.20.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [26/28] Installing py39-msgpack-1.0.8...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [26/28] Extracting py39-msgpack-1.0.8: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [27/28] Installing py39-looseversion-1.3.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [27/28] Extracting py39-looseversion-1.3.0: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [28/28] Installing py39-salt-3007.0...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [28/28] Extracting py39-salt-3007.0: .......... done
=====
Message from py39-urllib3-1.26.18,1:

--
Since version 1.25 HTTPS connections are now verified by default which is done
via "cert_reqs = 'CERT_REQUIRED'".  While certificate verification can be
disabled via "cert_reqs = 'CERT_NONE'", it's highly recommended to leave it on.

Various consumers of net/py-urllib3 already have implemented routines that
either explicitly enable or disable HTTPS certificate verification (e.g. via
configuration settings, CLI arguments, etc.).

Yet it may happen that there are still some consumers which don't explicitly
enable/disable certificate verification for HTTPS connections which could then
lead to errors (as is often the case with self-signed certificates).

In case of an error one should try first to temporarily disable certificate
verification of the problematic urllib3 consumer to see if that approach will
remedy the issue.
=====
Message from openpgm-5.2.122_6:

--
===>   NOTICE:

The openpgm port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://docs.freebsd.org/en/articles/contributing/#ports-contributing
=====
Message from libinotify-20211018_1:

--
You might want to consider increasing the kern.maxfiles tunable if you plan
to use this library for applications that need to monitor activity of a lot
of files.
=====
Message from py39-pycryptodomex-3.20.0:

--
Install the math/gmp port to enable accelerated processing with the GNU
Multiple Precision Arithmetic Library. PyCryptodome will use the
optional enhancement at runtime automatically if the library is
available.
=====
Message from py39-salt-3007.0:

--
To configure a Salt Master, do the following:

  o Copy /usr/local/etc/salt/master.sample to /usr/local/etc/salt/master
  o Update to meet your needs
  o sysrc salt_master_enable="YES"



To configure a Salt Minion, do the following:

  o Copy /usr/local/etc/salt/minion.sample to /usr/local/etc/salt/minion
  o Update 'master: salt' to point to your Salt Master's hostname or IP
  o sysrc salt_minion_enable="YES"



To configure a Salt Proxy Minion, do the following:

  o sysrc salt_proxy_enable="YES"
  o sysrc salt_proxy_list=""
  o Update the salt_proxy_list with the proxy minion name(s)



To change the Transport method from the default option of Zeromq to either TCP or RAET:

  o Re-build the port with the desired options enabled to install the correct runtime dependencies
  o Ensure the master and minions all have salt installed with these same options and dependencies
  o Add the line 'transport: [tcp|raet]' to both the master and minion configuration files
  o Restart salt on the master and minions
Step 18: Install py39-pip
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:
	py39-pip: 23.3.2_1

Number of packages to be installed: 1

The process will require 19 MiB more space.
3 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching py39-pip-23.3.2_1.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Installing py39-pip-23.3.2_1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting py39-pip-23.3.2_1: .......... done
=====
Message from py39-pip-23.3.2_1:

--
pip MUST ONLY be used:

 * With the --user flag, OR
 * To install or manage Python packages in virtual environments

Failure to follow this warning can and will result in an inconsistent
system-wide Python environment (LOCALBASE/lib/pythonX.Y/site-packages) and
cause errors.

Avoid using pip as root unless you know what you're doing.
Step 19: Install py39-tornado
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:
	py39-tornado: 6.3.3

Number of packages to be installed: 1

The process will require 4 MiB more space.
623 KiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching py39-tornado-6.3.3.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Installing py39-tornado-6.3.3...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting py39-tornado-6.3.3: .......... done
Step 20: Install package git-lite
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	expat: 2.6.2
	git-lite: 2.44.0

Number of packages to be installed: 2

The process will require 34 MiB more space.
6 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Fetching expat-2.6.2.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Fetching git-lite-2.44.0.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Installing expat-2.6.2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Extracting expat-2.6.2: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Installing git-lite-2.44.0...
===> Creating groups.
Creating group 'git_daemon' with gid '964'.
===> Creating users
Creating user 'git_daemon' with uid '964'.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Extracting git-lite-2.44.0: .......... done
=====
Message from git-lite-2.44.0:

--
If you installed the GITWEB option please follow these instructions:

In the directory /usr/local/share/examples/git/gitweb you can find all files to
make gitweb work as a public repository on the web.

All you have to do to make gitweb work is:
1) Please be sure you're able to execute CGI scripts in
   /usr/local/share/examples/git/gitweb.
2) Set the GITWEB_CONFIG variable in your webserver's config to
   /usr/local/etc/git/gitweb.conf. This variable is passed to gitweb.cgi.
3) Restart server.


If you installed the CONTRIB option please note that the scripts are
installed in /usr/local/share/git-core/contrib. Some of them require
other ports to be installed (perl, python, etc), which you may need to
install manually.
Step 21: Install package go
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	go: 1.21_1,2
	go121: 1.21.9

Number of packages to be installed: 2

The process will require 206 MiB more space.
42 MiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Fetching go-1.21_1,2.pkg: . done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Fetching go121-1.21.9.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Installing go121-1.21.9...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Extracting go121-1.21.9: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Installing go-1.21_1,2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Extracting go-1.21_1,2: .. done
Step 22: Install package gmake
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:
	gmake: 4.4.1

Number of packages to be installed: 1

The process will require 2 MiB more space.
486 KiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Fetching gmake-4.4.1.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Installing gmake-4.4.1...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/1] Extracting gmake-4.4.1: .......... done
Step 23: Install package tmux
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	libevent: 2.1.12
	tmux: 3.3a_2

Number of packages to be installed: 2

The process will require 3 MiB more space.
779 KiB to be downloaded.
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Fetching libevent-2.1.12.pkg: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Fetching tmux-3.3a_2.pkg: .......... done
Checking integrity... done (0 conflicting)
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Installing libevent-2.1.12...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [1/2] Extracting libevent-2.1.12: .......... done
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Installing tmux-3.3a_2...
[saltstack-amd64-14_0.vsf00002.cpt.za.honeyguide.net] [2/2] Extracting tmux-3.3a_2: .......... done
Step 24: Install salt-lint via pip
Collecting salt-lint
  Downloading salt_lint-0.9.2-py3-none-any.whl.metadata (7.8 kB)
Requirement already satisfied: pyyaml in /usr/local/lib/python3.9/site-packages (from salt-lint) (6.0.1)
Collecting pathspec>=0.6.0 (from salt-lint)
  Downloading pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
Downloading salt_lint-0.9.2-py3-none-any.whl (35 kB)
Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
Installing collected packages: pathspec, salt-lint
Successfully installed pathspec-0.12.1 salt-lint-0.9.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
Step 25: Clean package installation
Checking integrity... done (0 conflicting)
Nothing to do.
The following package files will be deleted:
	/var/cache/pkg/openssl-3.0.13_2,1.pkg
	/var/cache/pkg/openssl-3.0.13_2,1~9d9aca70ca.pkg
The cleanup will free 6 MiB
Deleting files: .. done
Step 26: Clean cook artifacts
Step 27: Install pot local
Step 28: Set file ownership on cook scripts
Step 29: Make cook script executable
setting executable bit on /usr/local/bin/cook
Step 30: Create rc.d script to start cook
creating rc.d script to start cook
Step 31: Make rc.d script to start cook executable
Setting executable bit on cook rc file
Step 32: Enable cook service
enabling cook
cook enabled in /etc/rc.conf
=====>  Stop the pot saltstack-amd64-14_0
=====>  Remove p46626c82377f7 epair network interfaces
=====>  unmount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/tmp
=====>  unmount /mnt/srv/pot/jails/saltstack-amd64-14_0/m/dev
===>  exporting saltstack-amd64-14_0 @ 1713817742 to /tmp/saltstack-amd64-14_0_0.14.1.xz

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