Creating a K3s Cluster Using EC2

As part of my preparation for the GitHub Actions certification, I’ve been itching to get some hands-on experience deploying to a Kubernetes cluster. I have one requirement, I do not need the cluster running all the time. Leaving it idle would just rack up unnecessary costs. My solution? A cloud computer I can use as a controlplane node which I can easily spin up and down as needed. After doing some research, I decided to go with k3s. It’s lightweight, simple to use, and perfectly suited for my needs. For hosting, I chose AWS EC2 because I’m already familiar with it, and it offers a straightforward experience. ...

January 13, 2025 · 3 min · 451 words · Tim Engle

First Day at Hacker Dojo

While on my journey to land my first full-time job in the tech industry, I have decided to move back in with my father, who has just retired, to save some money in case I need to relocate. He has tons of free time on his hands, which he spends on his hobby of taking care of fish. He has so many fish tanks that I am now literally SLEEPING WITH THE FISHES. ...

January 9, 2025 · 3 min · 633 words · Tim Engle

A Simple Guide to Name Resolution

Network management requires machines to be able to communicate efficiently, and one of the simplest ways to achieve this is via domain names. But how does a machine know where to send traffic for any particular domain name? Without proper name resolution, communication becomes challenging—at best requiring humans to memorize IP addresses, and at worst causing a complete communication failure. By the end of this article, you will know how to configure name resolution on a Linux machine and ensure seamless communication across your network. ...

September 19, 2024 · 4 min · 734 words · Tim Engle

Continuous Deployment: Automating GCP Deployments with Artifact Registry and Cloud Run

The references to a blog in this post are for my older blog that was built from scratch using Go. My new blog is built using Hugo and the Papermod. In the previous post, we created our GitHub Actions workflow, build script, and Dockerfile. In this post, we will focus on setting up GCP and enabling the APIs that allow our workflow to automate each step of the deployment process. Here’s what we’ll cover: ...

August 26, 2024 · 10 min · 1975 words · Tim Engle

Continuous Deployment: Creating a GitHub Workflow, Build Script, and Dockerfile

The references to a blog in this post are for my older blog that was built from scratch using Go. My new blog is built using Hugo and the Papermod. In the previous post, the importance of setting up continuous deployment (CD) was introduced, and a basic GitHub Actions workflow was created to automate code deployments. In this section of the series, we’ll build on that foundation by discussing three essential files needed for fully automating the deployment process. The first is a more advanced GitHub Actions workflow that will handle all the steps required to deploy updated containers to GCP. The second is a build script that will create a binary of the Go application compatible with the operating system running inside the Docker container. Finally, we’ll cover the Dockerfile, which is responsible for building the container image that will be deployed and hosted by Google Cloud Platform. ...

August 22, 2024 · 5 min · 882 words · Tim Engle