Luther Monson, Staff Software Engineer at SUSE

Luther Monson

Go by way of PHP · Containers · VMs · Windows · Kubernetes

Building k9s for Linode With Bubble Tea

A k9s-style terminal app for managing Linode. Search for any resource, browse it, and jump straight into k9s, a database shell or SSH.

8-Minute Read

linode-tui showing the Linodes view with the command bar open and tab completion suggesting lke

A lot of my day is spent in k9s. Sometimes I need something from the Linode side of the house. Maybe it’s a node that won’t boot, a volume nobody cleaned up or the kubeconfig for a cluster I just made. Then I’m back in a browser tab or typing linode-cli incantations. I wanted the k9s workflow for the Linode API itself:

Maintaining a Go Tool That Edits /etc/hosts on Every OS

Notes from maintaining goodhosts, the hosts file CLI and Go library behind vagrant-goodhosts and ddev. It covers Windows quirks, a HostsPerLine bug, and making the CLI testable.

8-Minute Read

hosts file output from hostsfile v0.1.4, v0.1.5 and v0.1.6 for the same sequence of adds

Editing the hosts file sounds like the most boring problem in software. Read a text file, add a line, write it back. Then you find out your binary is being shelled out to from a Ruby Vagrant plugin on a Windows laptop with UAC prompts. Your library is being called in a loop by ddev. And every hosts file you parse was hand-edited by somebody at some point. I’ve been maintaining goodhosts for a few years now. I just spent a chunk of the fall and the holidays on it, so here’s what that…

Practical Cue Example, Produce YAML Config from Go Types

A hands-on Cue tutorial: start from Go types, generate Cue definitions, and produce two different YAML config files from them.

5-Minute Read

I recently had to spend some time to learn Cue and felt the examples/tutorials were a bit lacking. The paradigm shift to the entire language sort of messed with my head, and some things Cue does were a bit foreign to me. To get started, note that I spent all of my time getting this information from two places: their main docs and a community Cuetorials site. This will be a tutorial on how you can use Cue to generate two different YAML documents, all starting with Go types to generate Cue files.

Free Blog Hosting Using Hugo + Github Pages

Upgrade your Personal Blog Game with Apex Records for No Cost

4-Minute Read

Github Pages Logo

Since I just rode this merry-go-round here is a quick overview of how you can get a professional looking personal blog with custom DNS. It takes minimal effort, costs nothing and runs completely out of a single Github Repository.

Recent Posts

Categories

About

Luther is a 20+ year software veteran specializing in backend APIs and architecting products. Employed at SUSE as the Team Lead for the Containers on Windows Team working on Rancher + Kubernetes