Building a Kubernetes Home Lab

Preface Every organization I’ve worked for since 2017 has used Kubernetes. Granted, back in 2017, it was still a very new technology that didn’t benefit from the open-source ecosystem that it now does, and things were more challenging to do with it in general. My professional experience with Kubernetes began with reading documentation and trying things locally or in AWS EKS. Local environments like Kind and k3s were new but suffered from severe resource limitations. Despite the improvement in laptop specs over the years, trying to do meaningful local development work, testing, or learning remains a significant challenge due to the complexity of said environments and the cost of managed options like EKS, GKE, and AKS. ...

June 26, 2024 · 5 min · 925 words · Me

Finishing the WOIN API

In part 3 of this series I went over the architecture of the api and how it all works. I’m now going to set this up an AWS lightsail instance to run this as well as adding it to systemd so that it starts automatically if the system reboots and restarts in the event of a failure, add in some ssl love with LetsEncrypt and, set up log rotation because I did enable logging with echo in case we encounter errors I can troubleshoot. ...

February 3, 2023 · 9 min · 1856 words · Me

Let's Build An API

In part 2 of this series I laid out the foundation for this project as well as the issues and solutions I decided on. So now lets actually write some code. go mod init foo I first made a Github repo, cloned it locally and ran go mod init to start. I did some searching on directory structure and organization for an API with the intent to not end up with a monolith of a main.go file. Since I’ll be breaking this API into modules I settled on the following… ...

January 28, 2023 · 10 min · 1975 words · Me

Beginning the W.O.I.N. API

Requirements In the previous post, I mentioned I want to create this API using Go so I’ll need a web framework, and since I’m planning to return JSON when calls are made I’ll need a NoSQL database solution. Also, since I don’t want to write all the stats and information for all of WOINs data I’ll need to get it from somewhere. Some Quick Background on Me I’m a hobbyist-level programmer at best. I’ve mainly learned what I needed, on the fly mind you, out of interest or to solve a specific problem for work. If you look at my code and wonder, “why would he do this?” you now know why. Also, my knowledge of Go when starting this project consisted of completing the Go track on Code Academy and writing a small app to text me if the freezer in my garage loses power, nothing fancy, and nothing overly complex. ...

August 26, 2022 · 5 min · 1012 words · Me

Building a W.O.I.N. API

I’m pretty obsessed with a TTRPG system called WOIN (What’s Old is New). I first learned about it from my friend Mike who described it as a more open system than DnD 5e that included canon for creating and/or playing in any world/campaign from high fantasy to space opera. The idea of playing a Cyberpunk themed campaign appealed to me at the highest levels because it’s a genre I’ve always been enamored with. One of my favorite games is Shadow Run for Sega Genesis and the thought of a sandbox dystopian cyberpunk world was too good not to try as a first-time TTRPG player. ...

August 14, 2022 · 3 min · 533 words · Me