Vanity, thy name is Go

Go vanity imports let you put a custom domain in front of your import paths. Instead of go get gitea.com/user/repo/pkg (or in my case go get src.tklk.dev/tklk/x/pkg ), it's just go get tklk.dev/pkg . Shorter, and decoupled from wherever the...

March 10, 2026

Monorepo! Monorepo! Monorepo!

What's it called? Monorepo! That's right, monorepo! I've been maintaining many small Go repositories for personal projects, libraries, and a bunch of experiments. The overhead that comes with all of that adds up. After recently switching to...

March 4, 2026

A serverless Docker registry with Bunny.net

I host all of my Docker images using my personal Gitea instance , but rather than exposing my home network on the internet, I figured I could upload the images to Bunny.net too, and use the CDN there to serve them. Bunny.net has edge comput...

March 3, 2026

Tricking GitHub Copilot into reviewing PRs in Gitea

Xe Iaso wrote about building a review bot that uses a self-hosted LLM to review GitHub pull requests. It was an interesting idea, and when I found out about SDK's for "AI" CLIs, I wondered if I could do something similar, but using a harnes...

March 2, 2026

DIY Multi-Hop Boundary Sessions without HCP

A common theme in my posts, is to treat my homelab as if it has the same security requirements as a production environment. Since, in theory, it is a production environment, and I wouldn't want anything to happen to it. For protected access...

April 16, 2025

SSH into your Gitea Actions for debugging

While Gitea Actions allows for local debugging of workflows, sometimes you need to debug directly on the runner. This is especially challenging since the workflows only exist for the duration of the run. Even if you have access to the serve...

April 10, 2025

Manage an entire fleet of macOS VMs with HashiCorp Nomad

As an experiment to familiarize myself with Nomad driver plugins, I created a driver plugin for Tart that allows you to manage macOS VMs using Nomad. It allows you to manage macOS VMs with Nomad in a similar way to how you would manage Dock...

April 9, 2025

Trouble with Azure Functions, and Managed Identities

As a part of a project to automate TLS certificates for Azure Application Gateways, I ran into an unexpected issue with Azure Functions and managed identities. Specifically, the tool I was using was attempting to fetch a managed identity to...

March 31, 2025

SSH Multi-Factor Authentication with SoloKey V2

In a bout of attempting to improve my operational security, I decided to review my current practices and see which areas I could improve. While I already use SSH keys for auth, having a file that is essentially a password to all my servers ...

March 30, 2025

Gitea Actions: Forget about YAML, let's use Nix

I maintain many repositories using Gitea Actions, and I've run into a lot of pipeline failures due to the smallest of issues. Most commonly it is whitespace differences in YAML files that cause unexpected parsing or complete failures. Recen...

August 4, 2024