Over the last few months, I’ve been tinkering with different OS’es, databases, and other stuff that requires the spinning up and down of VMs. Which has led to a number of headaches regarding DNS, annoyance with the lack of SSL certs internally, and just a general frustration with how dysfunuctional my home network is. Since working from home started I’ve been annoyed with the crappy network performance here at home, combine that with the wife’s and I’s compaines changing up secuirty policies and scanning machines which in turn scanned our local network, I decided it was time for a major overhaul. Another point of contention has been a general half-assed approach to understanding and learning to use IaC tools. So to rememdy all of that, I’ve decided to overhaul the internal network and local services I have here at home. Oh I should also mention it’s a marriage test, while my wife loves to rearrange the house she hates it when I start “tweeking” the computers at home.
So basically, my generic plan is to do the following:
- setup a proxmox hypervisor
- use packer to create images
- add servers via terraform
- use containers when possible
- move the containers into a k3s cluster
- add security to our home network
- use SSL certs
- set up internal DNS
- use a central database when possible
- use a combination of ansible and puppet to set and enforce configs
- server, network, etc
- put every bit of this into source control
- then use jenkins to build a dev pipeline for all of this
- do as much of this as I can with FOSS
Sounds like a hell of a lot of over achievement huh? My wife said the samething with an eye roll during my explaination. Why does a dba need to do all of this? In all reality, I don’t, but I’m also feeling pretty uninspired with just continuing on being just a SQL Server DBA. The cloud is here, at work we have started using Puppet Enterprise, and there are projects under way to move into AWS. I like to know how things work, so this project sounded like a good way to build new skills and learn something.
As I go, I’m going to be writing this up and adding code to a public repo on GitHub.