As I continue to push forward the use of AWX in our infrastructure, there is continued need to test what we are producing. Much like any other kind of development, sometimes we need a local environment to test something. This came up recently for me in AWX because I was testing a role that modified the AWS Task container in order to provide enhanced functionality. I wrote the following little shell provisioner that gets AWX up and running quickly for testing.
Everyone loves free things, hence the proliferation of services like GMail and the rest of the Google suite. The problem is, as my old boss used to say, “If you aren’t paying for the product, than you are the product”. Nothing in life is free, and Google has to make money somewhere. It’s no secret that I have a love/hate relationship with Google … I love their services but hate their continuous privacy violations and tracking behaviors (hence my move over to services like ProtonMail and self-hosting). However, this doesn’t make me turn a blind eye to them in general. I’ve been watching the Google Cloud Platform (GCP) product suite for some time, and have recently started playing around with it. It’s nice, compatible with all my tooling (Terraform, Vagrant, etc.), and in most cases cheaper than competing AWS services. Even better is their free trial which, unlike AWS, is much more robust. Their trial, available for one year from your sign up, comes with $300 in credit to use on their services. Which makes it a lot less limited than the AWS “Free Tier” for one year.
Vagrant is probably one of my favorite tools. The ability to quickly spin up one, or multiple, virtual machines for testing is super useful. Over the course of the last year or two really using it, I have developed what I call my “master”
Vagrantfileessentially has lots of the common things I do, with comments that allow me to easily select the things I want. For instance, options for all the different distributions that I need to test with, whether I want to provision with a shell script or with Ansible, and places for specifying multiple VMs. So I figured I would post my master file here for others to take a look at, use, or even just as a guide.