A mix of open source contributions, infrastructure tooling, and personal utilities. Active projects only — archived work has been removed.
Open Source Contributions #
MetaCPAN #
MetaCPAN is the open source search engine for CPAN, the Comprehensive Perl Archive Network. It provides a web interface and API used by the Perl community worldwide.
I have been a long-term contributor to the MetaCPAN project, leading the migration of the entire infrastructure from Docker Compose to Kubernetes. The metacpan-k8s repository contains the Kubernetes manifests and configuration that now runs the production environment. Prior to that I worked on the OpenAPI implementation for the MetaCPAN API.
Kubernetes and Infrastructure #
kubectl-consolidation #
A kubectl plugin that surfaces Karpenter consolidation blockers for nodes in a
cluster. When Karpenter cannot consolidate nodes, the reason is often buried in
logs or annotations. This plugin makes the blockers visible at a glance.
Terraform Providers #
terraform-provider-kanidm #
A Terraform provider for Kanidm, a modern identity management system. Supports managing users, groups, OAuth2 clients, and OIDC configuration via Terraform. Useful for teams running self-hosted identity infrastructure.
terraform-provider-soft-serve #
A Terraform provider for Soft Serve, Charm’s self-hosted git server. Manages repositories, access controls, and settings over SSH using Terraform.
Go CLI Tools #
git-reword #
Reword git commit messages without shell-quoting headaches. Useful when amending or rewording commits that contain characters that confuse the shell.
git-track #
Add or remove remote branch references from git configuration. Simplifies tracking remote branches in repositories with complex remote setups.
zenlog #
No more tee-ing. zenlog captures both stdout and stderr to a log file while
still displaying output in the terminal, without requiring pipes.
Fish Shell #
git.fish #
A collection of fish shell functions to make git less painful. Focused on reducing keystrokes for common git workflows.
kubectl.fish #
Fish shell functions for working with Kubernetes. Wraps common kubectl operations
to reduce repetition when navigating clusters and namespaces.
fishies.fish #
A collection of useful fish scripts that cover automation tasks without a more specific home.
Obsidian Plugins #
obsidian-slack-emoji #
An Obsidian plugin that renders Slack-style emoji shortcodes (:tada:, :rocket:,
etc.) inline in notes. Useful when moving content between Slack and Obsidian.
obsidian-backup-git #
An Obsidian plugin for automatic git-based backup without remote sync. Commits vault changes on a schedule, preserving local history without requiring a remote repository.
System Configuration #
dotfiles #
Configuration for git, NeoVim, tmux, and the fish shell. Maintained as a living record of how my development environment is set up.