
Latest Posts:
-
NCPV, the Ncurses based pipeviewer written in Rust
22 Mar 2025 »Introducing ncpv: A Modern, Ncurses-Based Alternative to pv First off, what is pipeviewer? Pipeviewer, or pv, is a terminal-based tool that allows you to monitor the progress of data through a pipeline. It provides a visual representation of the data transfer rate, estimated time remaining, and other useful statistics. It’s...
-
Virt-Maker Lightning Talk
14 Feb 2025 »In this lightning talk, I present the Virt-Maker project. Virt-Maker, a disk image building tool for GNU/Linux that uses snapshots for aggressive caching and fast turnaround using simple procedural code. In traditional virtual machine infrastructure you may find yourself manually installing an iso for golden image creation just as you...
-
Virt-Maker v1 Has Been Launched!
06 May 2024 »After nearly a decade of fiddling and transforming the project, I am proud to announce the launch of Virt-Maker v1! Virt-Maker is a project that allows you to create virtual machines with a simple build specs. It is designed to be simple to use and easy to understand. It is...
-
Revisiting Virt-Maker
05 May 2024 »It has been quite a long time since I pushed updates to Virt-Maker, but over the years and in the background I have been modifying and updating the codebase. There has been a lot of changes, I now have it in a state where I think the idea is solidified....
-
Experimenting with Tauri
04 May 2024 »I’ve been toying around with the idea of creating a toolkit of sorts for creating kios based deployments for Raspberry Pi’s on and off again for a while. My brother and I have had a fascination with thin clients and specifically using the Raspberry Pi as the hardware platform. I’m...
-
Differencial Engine No. 1
01 Jan 2024 »200 years ago this year, the Difference Engine No. 1 began to be built. Charles Babbage began work on the machine that would go on to serve as the foundation for computers as we know it. At the same time Ada Lovelace invented the technology that would go on to...
-
FileGen
18 Jun 2016 »Universal text file generator FileGen is a text file generator that uses Jinja templates and YAML files to create files. I created it because I kept running into the same problem, the need to have a template tool to create config files, kickstarts, etc that did not rely on tools...
-
Virt-Maker Project
12 Aug 2015 »Automated virtual machine build tool based around libguestfs. I started virt-maker a while back, mostly to ease the creation of mutliple similar QCOW images for use in an OpenStack environment. I had used packer to accomplish this goal, as well as wrapping some CI goodness around Foreman. I really needed...
Latest Series:
-
Immutable Enterprise Backup 6/6
Configuring a Bacula client and it's File Daemon
17 May 2025 »Backing up ourselves In the previous post, we set up a Storage Daemon. In this post, we will configure a Bacula client and its File Daemon. The File Daemon is responsible for backing up files on the client machine and communicating with the Director. Laying out the Configuration As with...
-
Immutable Enterprise Backup 5/6
Configuring the Bacula Storage Daemon on NixOS
10 May 2025 »Considerations for the Storage Daemon The storage daemon acts as the storage service for Bacula, managing the storage of backup data. It is responsible for writing and reading data to and from the storage devices. A device is a physical or virtual storage medium, such as a tape drive, disk,...
-
Immutable Enterprise Backup 4/6
Configuring the Bacula Catalog and Director on NixOS
03 May 2025 »Laying out the Configuration Now that we have a high-level overview of the Bacula architecture, we can start configuring the Bacula catalog and director on NixOS. First, let’s break out our configuration.nix so that all the bacula related code is in its own directory. Create the directory structure Current structure:...
-
Immutable Enterprise Backup 3/6
Architecture of Bacula
26 Apr 2025 »Abstract Bacula is a free and open-source backup software that provides a robust and scalable solution for data protection in various environments. In this blog post, we will delve into the architectural overview of Bacula, exploring its key components and their interactions. An Architectural Overview of Bacula Bacula’s Roles For...
-
Immutable Enterprise Backup 2/6
Setting up a Bacula lab
19 Apr 2025 »Overview of the lab The lab will consist of 2 NixOS virtual machines running on my desktop on the same LAN. The first VM will be the all-in-one bacula server and the second VM will be the bacula client. I will be running the VMs using libvirt but the configuration...
-
Immutable Enterprise Backup 1/6
Building an enterprise backup solution with Bacula and NixOS
17 Apr 2025 »Abstract The goal of this series of posts is to provide an actionable reference for building an enterprise-grade backup solution using Bacula and NixOS. This post will cover the following topics: What is enterprise-grade backup and why use Bacula? What is an immutable operating system and why use NixOS? Why...
-
Pacemaker 4/4
Deploying an HAProxy on a Pacemaker Cluster
10 May 2024 »In this guide, we’ll deploy a HA-HAProxy cluster on a Pacemaker cluster. Pre-requisites This guide assumes you have a working Pacemaker cluster with a VIP and a web server deployed on it. See this post for a guide on how to deploy a Pacemaker cluster, this post for deploying nginx...
-
Pacemaker 3/4
Deploying a VIP on a Pacemaker Cluster
09 May 2024 »In this guide, I will show you how to configure a virtual ip address (VIP) on a pacemaker cluster. This VIP will float between the nodes in the cluster and allow users to connect to a single IP address to access the service. Pre-requisites This guide assumes you have a...
-
Pacemaker 2/4
Deploying a Simple High-Availability Nginx Service with Pacemaker
08 May 2024 »In this guide, I will show you how to deploy nginx and it’s default page as a high-availability service using Pacemaker. Pre-requisites This guide assumes you have a basic understanding of Pacemaker and have a cluster already set up. If you don’t have a cluster set up, you can follow...
-
Pacemaker 1/4
Setting up a basic Pacemaker cluster on Rocky Linux 9
07 May 2024 »TL;DR Pacemaker is used to automatically manage resources such as systemd units, IP addresses, and filesystems for a cluster. What is Pacemaker? Deploying All nodes Enable HA repository Install pacemaker packages Start pcsd service Set password for hacluster user Open firewall ports First node only Authenticate pcs with the cluster...