Jenkins with FreeBSD Agents in ec2

One of my customers needs to have builds done on arm64 hosts, but they lack the necessary hardware to do so in house and procuring such hardware can be very difficult due to vendors EoL some hardware without the replacement hardware being ready to ship. Currently they already have Jenkins configured with a couple of amd64 build agents that do most of the building, so we wanted something we could just drop in to their existing infrastructure.
Continue Reading -->

Poudriere Missing param.h

Building a new FreeBSD poudriere jail, sometimes runs into the following error: awk: can't open file /usr/local/poudriere/jails/aarch64/usr/include/sys/param.h source line number 1 This is a bug in poudriere-devel-3.3.99.20210907_1 and it is fixed in main already but not in a package yet. Update: New package has been published with the fix.
Continue Reading -->

Setting Up Hashicorp Vault on FreeBSD

Vault works well on FreeBSD, but there are a couple of quirks to be aware of. This guide will help take care of those. Installing Vault Follow the normal install method: pkg install vault Settings for use in Jail Using vault in a jail requires the option allow.mlock to be set. Using ezjail and a jail called vault just modify the config file /usr/local/etc/ezjail/vault on the host and set: jail_vault_parameters="allow.mlock=1" Configuring Vault First off enable Vault and set syslog output:
Continue Reading -->

PXE Booting multiple Raspberry Pi 3s with FreeBSD

To make it easier to upgrade the various Raspberry Pis that are around, lets PXE boot them so they can be upgraded easily. In this article we will use the following tools to create a shared base system and then individual mounts for each RPi: NFS Poudriere PXE TFTP ZFS To make cable management easier, each Raspberry Pi is connected to a PoE switch using one of these Adafruit PoE Splitter.
Continue Reading -->

Building FreeBSD cloudinit images for Terraform

Setting up FreeBSD to run cloudinit to make custom images is pretty easy. The first step is to boot a basic image or the install ISO and install FreeBSD. Once it is up and running then install cloudinit: pkg install net/cloud-init And enable cloudinit: sysrc cloudinit_enable=YES Currently there is a bug in cloud-init where it does not try to mount the correct filesystem with the correct type on FreeBSD. It tries to use the old outdated vfat type, instead of mosdosfs.
Continue Reading -->

Testing Nomad & Consul with FreeBSD Jails

For awhile now I have been meaning to evaluate Nomad and Consul for managing servers as well as batch jobs. It has lots of features that are attractive and would make managing services very easy using the Consul service mesh and health checks. One of the downsides is that it takes some configuration and setup to get it configured for maximum success, with multiple copies of the Nomad Server and Consul Server running in each datacenter. The other side of the coin is other solutions require setting up an external database that will then have to be managed and monitored.


Continue Reading -->