Ross Edman · Sr. Principal Engineer at Twilio
Notes from below the application layer.
Infrastructure, Go, homelabs and the small tools that make a terminal feel like home. Written down so I remember how I did it.
Latest
research
texas
weather
North Texas Summer Nights Are Heating Up Faster Than the Days
Thirty-five summers of NOAA data from DFW Airport: 100° days come and go, but nights that stay above 80°F have more than doubled.
Archive
2026 5 posts
- BuildKit As A Library: A CI Pipeline In Go Drive Docker's built-in BuildKit from a Go program to vet, test and cross-compile a project in parallel, with caching, and export the binaries to your machine.
- Shipping Your Own Docker Syntax With BuildKit Write a BuildKit frontend in Go that turns a three-line YAML file into a tiny container image, publish it as an image, and use it from any docker build with a # syntax line.
- Running A Go Service With systemd Write a systemd unit for a Go service, tell systemd when it's ready, keep the watchdog fed, reload on SIGHUP and lock it down with sandboxing options.
- Per-Directory Environments With direnv Load and unload environment variables per directory with direnv, and pull each project's secrets straight from 1password with op read.
- Graceful Shutdown: Respecting SIGTERM With Go Catch SIGTERM with signal.NotifyContext and let http.Server.Shutdown finish in-flight requests before your Go service exits.
2021 4 posts
- Setting Env Vars From 1password Source secrets into your shell from the 1password CLI so your dotfiles can live in git with nothing sensitive on disk.
- Hot Reload: Respecting SIGHUP With Go Reload a Go web server's configuration when it receives SIGHUP, without restarting the process or dropping traffic.
- Working With Multiple Git Configs Give work, personal and side-project repos their own git identity, credentials and hooks with conditional includes.
- Build A Portable Lab In The Cloud Using Tailscale, Terraform and DigitalOcean Spin up DigitalOcean droplets with Terraform and cloud-init, join them to a Tailscale network, and tear it all down when you're done.