Lately I’ve been itching to rework my homelab. As I pack up my bindle, I want to take an accounting of the frustrations and pain points in my current setup.
Context My current homelab came about when I had just bought my first serious single-board server: an ODROID H3+. It blew my old Raspberry Pi out of the water, and I was stoked to get my hands on something with Quick Sync so I could finally build the media server of my dreams.
Tag: Terraform
I spend quite a lot of my waking hours working with Terraform. It’s a love-hate relationship. I think people already have a sense for what’s great about Terraform, and most of the alternatives I see cropping up (looking at you, Pulumi) seem like solutions in search of a problem. I’m open to having my mind changed on that. However, to my mind, Terraform’s greatest weaknesses come from a disregard for user experience.
terraform-lockfile-insights is a utility designed to surface information about the Terraform providers used within a project. It recursively crawls a specified directory, parsing each Terraform lockfile using tree-sitter, and provides a report showing which providers and versions are used in each file.
Building this tool helped me get hands-on experience with both Golang and tree-sitter. I often work with repositories containing numerous Terraform modules, where managing provider versions and keeping the dependency scope small is crucial.