Foreword
Before anyone gets on me, I know this has been a thing for a while. I’ve heard about Ansible playbooks ever since I got interested in Docker, Docker Compose, & Kubernetes. The difference is I never really thought it was useful to me. It always seemed a bit overly complicated compared to what I was using my homelab for which was mostly a cost saving venture, i.e. no-subscription/self-hosted alternatives to things which we do genuinely use a lot like Actual Budget instead of YNAB, Mealie instead of AnyList, & TrueNAS instead of Google Drive (hoping no drives die while the costs are so high for everything 🤞).
That was before I started thinking of things differently. This homelab has become a huge source of knowledge & people (who make much more money than I do) come to me with questions regarding what was just discussed. It was then I realized I’m pretty good at this & that this could be a lovely middle ground between the IT field which I have found myself stuck in & my dream of actually using the degree I paid so much money for (HAHAHAHAHA STUDENT DEBT 🙃).
Let me elucidate my plan here for any & all who wish to listen.
The Plan
While job searching (a topic I’ll cover in a separate post) I kept coming across development jobs which don’t require a lot of experience & I kept either getting ghosted or I would get denials. Instead of feeling bad for myself I turned inwards & thought, “Ok, maybe my experience gap is too high right now for hiring managers, but I want to do what I went to school for, so what would bridge the gap?”
That’s when I discovered things like Terraform, OpenTofu, & Ansible. Things which almost sound like system administration, but act like code. This seems like a perfect kind of tool for me since I’m used to looking at code & working with software development workflows, but applied more to the actual deployment of hardware/services.
My general plan now is to find some cheap hardware, maybe a Lenovo mini PC or 3 with a PCIe slot & a 2.5GbE switch, spin up a new Kubernetes cluster with OpenTofu & pass the deployment of actual services off to Ansible, while a GitHub Actions pipeline lints/validates the IaC & the applies on merge.
The Hiccups
The issues with this plan mostly revolve around my inexperience with Ansible & OpenTofu, but considering how relentless I can be when I want something, I do not foresee that being a huge issue. The logical conclusion to this is that I learn a lot after screwing things up for a month or two then realizing I was torturing myself the entire time, trying it again, & making everything work in a fraction of the time.
Another issue is the cost of hardware nowadays. The same Lenovo mini PC I bought over 2 years ago with an Intel i5-7500T costs more than double the cost now & if it doesn’t, it’s because it’s stripped down & no longer useful because the other parts would again cost over double what they used to. Hopefully this 8-month-long storm will be over soon & we can take a more reasonable approach to AI.
Finally, & this is the fun part… I have no idea if what I’m talking about is fully correct! Everything I’m saying could be wrong, but writing this down now will show me how far I’ve come if I learn something new. Either way I will be updating this post at some point when I’ve actually completed the project and will supply a link to that project post.
Let’s Dive In
While this may be a huge undertaking, I think this will be a big boon for my career even if it is only in a homelab environment. Even if it doesn’t help with anything in my homelab, it will at the very least, satiate my unending hunger for more knowledge. Let’s do this.
