

Running Vagrant VMs can be inherently insecure as you will see in a bit.

I don’t claim I’m an expert in this field. The Vagrant documentation is pretty good, so this is mostly pulling together information from 2 sources: The starting point I used was Creating a Base Box with specifics for the VirtualBox driver I’m using. Plus I have to manually do it, and I prefer the Ansible approach. Getting back to unpartitioned, unformatted block devices is possible, but I don’t think it’s terribly elegant. Sometimes I just wanted to go back to my starting point but that can be tricky at times: imagine you just partitioned your block devices for use with the database and discovered you wanted to change the flow. I found this particularly useful when writing and testing Ansible scripts. I can also supply so-called provisioners to further configure my environment. Using Vagrant with my custom images, all I need to do is run a single command and it will spin up a clean VM using the VirtualBox provider with the exact software configuration I want.

I als like to stay in control of things, especially when it comes to downloading otherwise unknown things from the Internet I decided to learn how to create a Vagrant box myself. I am using Oracle Linux 7.6 for most of my lab builds, and I like to have specific tools such as collectl, perf, and many others available when the VM boots. I have been talking about Vagrant for a long time and use it extensively on my Ubuntu-powered laptop.
