Hi, I'm Jason H 👋 (he/him) I currently work at Cursor. Before that I worked at Chainguard on infrastructure to build and deliver Chainguard Images and Libraries. Before that I…
Hi, I'm Jason H 👋
(he/him)
I currently work at Cursor.
Before that I worked at Chainguard on infrastructure to build and deliver Chainguard Images and Libraries.
Before that I was at Red Hat, and before that Google Cloud, where I cofounded Google Cloud Build and Tekton.
I contribute to ko and go-containerregistry, Wolfi, Apko, Melange, and a number of other things.
I sometimes build fun toys like:
- a Chrome extension to let you quickly switch to the tab making sound
- a container image registry that generates images on-demand
- a page to show you how far away you are from every GCP datacenter
- a plugin to manage GitHub PRs in Google Sheets
- a Google Meet plugin that shows how many hours of human time this meeting has cost
- a script for generating presentations with automated voiceover
- a multiplayer chess game in your terminal, over SSH
- a multiplayer old school FPS in your terminal, over SSH
- a Git repo that always has changes to pull
- an experiment to use Go as a scripting language
- a novel way to browse Git history
Sometimes I make lil GitHub actions to do useful things:
- https://github.com/imjasonh/govulncheck-action
- https://github.com/imjasonh/apidiff-action
- https://github.com/chainguard-dev/malcontent-action
🤖 My CLAUDE.md
Talks
- Taming the Complexity Beast... at KubeCon NA 2025 w/ Jon Ceanfaglione and Alex Zenla
- From Kubernetes to Cloud Run: Chainguard's Journey on Rawkode Academy
- The Maintainer Monologues at KubeCon NA 2024 w/ Sarah Christoff, Scott Rigby, Karen Chu and Ryan Nowak
- Secure-by-Default Cloud Native Applications at Cloud Native Rejekts NA Nov 2024 w/ Jed Salazar
- Building containers without Docker on the _Ship It!_ podcast in Feb 2024
ko: The only good way to build Go containers at GothamGo 2023- Securing the IaC Supply Chain at KubeCon NA 2022 w/ Jesse Sanford
- Registries After Dark, Part 2: Distributed Random Access Merkledags at KubeCon EU 2022 w/ Dan Mangum
- Argo and Tekton: Pushing the Boundaries of the Possible on Kubernetes at KubeCon NA 2021 w/ Alex Collins
- Russian Doll: Extending Containers with Nested Processes at KubeCon NA 2019 w/ Christie Wilson
- Build and Deploy Go applications with
koon CloudNative FM - Introduction to Shipwright at cdCon 2021
- Origin of Shipwright on CloudNative FM
- What does the Continuous Delivery Foundation do? on communitycentral.tv w/ Adam Kaplan, Andrea Frittoli, Vincent Demeester
Blog Posts
(I also write some things sometimes at https://articles.imjasonh.com)
- This Shit is Hard: Vulnerability Scanner Integration
- Faster Pulls, Smarter Builds: Introducing Multi-Layer Chainguard Containers
- This Shit Is Hard: Inside the Chainguard Factory
- Migrating Chainguard's Serving Infrastructure to Cloud Run
- Wolfi at work: Minimal developer workstations in the cloud
- The story of the most vulnerable Chainguard Image
- Chainguard's Image Tagging Philosophy: Enabling High Velocity Updates, Part 1, Part 2, Part 3
- How Chainguard fixes vulnerabilities before they're detected
- Building Chainguard's Container Image Registry
- Move Over, Dockerfiles! The New Way to Craft Containers
-
gcping ▣
No description.
★ 406 4y agoExplain → -
kontain.me
Container image registry that serves images built fresh when you ask for them
Go ★ 243 5d agoExplain → -
ghfs
GitHub repos in your filesystem
Go ★ 117 10y agoExplain → -
imjasonh
No description.
Python ★ 49 29d agoExplain → -
setup-crane
No description.
★ 32 19d agoExplain → -
nopullrequests
GitHub Pull Request Rejection Bot
Go ★ 29 11y agoExplain → -
cnotes
No description.
Go ★ 24 11mo agoExplain → -
gapi ▣
Google API command-line client, written in Go
Go ★ 18 11y agoExplain → -
govulncheck-action
A GitHub Action to find and annotate vulnerable Go code
JavaScript ★ 15 5d agoExplain → -
gos
Run simple .go files as scripts
Go ★ 14 11mo agoExplain → -
cosign-docker-cli-plugins
Docker CLI plugins for cosign
Shell ★ 13 4y agoExplain → -
gke-auth
K8s cred helper and setup without gcloud
Go ★ 12 1d agoExplain → -
pasta
Using ASTs and CUE to describe multi-language linters and fixers
Go ★ 12 1mo agoExplain → -
simply-put
Simple REST JSON API for putting, getting, listing, updating and deleting data objects
Go ★ 12 11y agoExplain → -
gcpslog ⑂ ▣
Lightweight structured logging for Google Cloud using `slog`
Go ★ 12 2y agoExplain → -
gcloud-help
No description.
Shell ★ 11 1mo agoExplain → -
krust
A simple container image build tool for Rust
Rust ★ 11 12d agoExplain → -
version
Stop using ldflags to embed build information
Go ★ 10 17d agoExplain → -
spelling-bee
Generates NYT Spelling Bee puzzles and answers
Go ★ 9 9y agoExplain → -
marptalk
Generate narrated Marp presentations using AI
JavaScript ★ 8 5mo agoExplain → -
image-scraper
Automatically scrape image manifests and build a reverse index
Roff ★ 8 1y agoExplain → -
infinite-git ▣
An infinitely pullable Git repo
Go ★ 7 2mo agoExplain → -
chrome-sigstore
Chrome extension to manage Sigstore and Chainguard auth windows
JavaScript ★ 7 2y agoExplain → -
rustvulncheck
No description.
Rust ★ 6 3d agoExplain → -
git-remote-oci
git remote backend on OCI repos
Go ★ 6 29d agoExplain → -
esp32
playing with ESP-32
Rust ★ 6 1d agoExplain → -
terraform-playground
We like to have fun here.
Go ★ 6 3d agoExplain → -
ideas
A place for me to file issues against myself for things I want to build when I'm bored
★ 6 7y agoExplain → -
client-go2
No description.
Go ★ 6 6mo agoExplain → -
deno-image
No description.
Shell ★ 6 4y agoExplain → -
portcullis
Experimental, do not use
Go ★ 5 2mo agoExplain → -
apidiff-action
GitHub Action to detect Go API changes
JavaScript ★ 5 6d agoExplain → -
go-cooldown
No description.
Go ★ 5 3mo agoExplain → -
tekless ▣
Tekton without Kubernetes
Go ★ 5 5y agoExplain → -
delay
Go package to make Cloud Tasks simpler for Cloud Run applications
Go ★ 5 2y agoExplain → -
chessh
SSH server to play Chess against other bored strangers
Go ★ 5 9mo agoExplain → -
dots
Convert images to Braille dots + ANSI colors
Go ★ 4 18d agoExplain → -
quit.social
Just stay off the internet
JavaScript ★ 4 1mo agoExplain → -
go-gist
Go import redirector for GitHub Gists
Go ★ 4 12y agoExplain → -
drive-dedupe
App to scan for duplicate files in Google Drive, and (someday) delete them
Go ★ 4 11y agoExplain → -
buildpack-in-a-pod
No description.
★ 4 4y agoExplain → -
wasimg
Bundle wasm modules into OCI images
Go ★ 4 2y agoExplain → -
sbom-fun
No description.
Go ★ 4 3y agoExplain → -
urls
Just checking if some URLs change.
Shell ★ 3 38m agoExplain → -
git-k8s
K8s controllers to manage Git repos
Go ★ 3 9d agoExplain → -
miniko
No description.
Go ★ 3 3y agoExplain → -
push ▣
No description.
Go ★ 3 9mo agoExplain → -
tros
tros lets you sort Go structs using reflection. Get it?
Go ★ 3 11y agoExplain → -
syncer ▣
WIP experiment
Go ★ 3 5y agoExplain → -
build-task
Experimental Shipwright Build Custom Task for Tekton
Go ★ 3 5y agoExplain → -
combine
combine multi-platform images
Go ★ 3 4y agoExplain → -
pymage
Dockerless and fast Python container image builds
Go ★ 2 3d agoExplain → -
mamba
No description.
Go ★ 2 11mo agoExplain → -
crush
Ephemeral remote shell on Cloud Run
Go ★ 2 3mo agoExplain → -
gohtmx
A sample Go binary with embedded HTMX frontend using `go:embed`.
Go ★ 2 6mo agoExplain → -
ocifuse
Efficient FUSE mounts for OCI images
Go ★ 2 1mo agoExplain → -
ctxhttp-analyzer
Go analyzer to rewrite net/http calls to pass context.Context
Go ★ 2 2mo agoExplain → -
droneski
Simulate a FPV drone following an Olympic downhill skier
TypeScript ★ 2 3mo agoExplain → -
gocf
Example Cloudflare Worker in Go
Go ★ 2 5mo agoExplain → -
twiliogo ⑂
Go helper library for the Twilio API
Go ★ 2 9y agoExplain → -
makemecall
makemecall.org
Go ★ 2 9y agoExplain → -
cosign ⑂
Container Signing
Go ★ 2 2y agoExplain → -
tekton-dev-scrape
https://tekton.dev
★ 2 4y agoExplain → -
chaff
Report on unnecessary files in container images
Go ★ 2 4y agoExplain → -
ko.build
No description.
★ 2 3y agoExplain → -
node-image
Example building a Node.js app into a container image, without Docker
Shell ★ 2 3y agoExplain → -
terraform-provider-oci ⑂
No description.
★ 2 8mo agoExplain → -
infra-1 ⑂
Home of Infra (Productivity) that hosts configs for prow and other infrastructure related things.
★ 2 3y agoExplain → -
buildx ⑂
Docker CLI plugin for extended build capabilities with BuildKit
★ 2 2y agoExplain → -
leapfrogai ⑂
Production-ready Generative AI for local, cloud native, airgap, and edge
★ 2 2y agoExplain → -
yam ⑂
A sweet little formatter for YAML
★ 2 2y agoExplain → -
octo-sts-app ⑂
A GitHub App that acts like a Security Token Service (STS) for the Github API
Go ★ 2 4mo agoExplain → -
gitscrub
Easily browse history of a file in a GitHub repo
TypeScript ★ 2 1y agoExplain → -
gots
A sample Go binary with embedded TypeScript frontend using `go:embed`.
Go ★ 2 9mo agoExplain → -
ssh-proxy
Go SSH proxy server to proxy over WebSockets, designed for Cloud Run deployments
Go ★ 2 9mo agoExplain → -
gh-sheets
gentleman in the streets, octocat in the sheets
JavaScript ★ 2 8mo agoExplain → -
pin-and-bump
Command to pin GitHub Actions workflow references
Rust ★ 2 6mo agoExplain → -
terraform-provider-melange
No description.
Go ★ 2 2y agoExplain → -
globetrotter
No description.
OpenSCAD ★ 1 6d agoExplain → -
ko ⑂
Build and deploy Go applications on Kubernetes
Go ★ 1 15d agoExplain → -
tektoncd-concurrency
Experimental concurrency controller
Go ★ 1 5y agoExplain → -
transports
HTTP transports I find myself using a lot
Go ★ 1 11y agoExplain → -
webpush
No description.
Go ★ 1 6mo agoExplain → -
html
No description.
Go ★ 1 6mo agoExplain → -
nescript
No description.
Rust ★ 1 1mo agoExplain → -
badidea
No description.
Go ★ 1 1mo agoExplain → -
testscript-rs
A simple DSL for writing and running integration tests
Rust ★ 1 5mo agoExplain → -
iferr-analyzer
Go analyzer to inline variables into if conditions where possible
Go ★ 1 2mo agoExplain → -
pkgerrors-analyzer
A Go analyzer to remove github.com/pkg/errors usage
Go ★ 1 2mo agoExplain → -
gcsbuf
Go library to stream data to and from GCS
Go ★ 1 2mo agoExplain → -
void-combat
Updated Battlefleet Gothic rules
★ 1 4mo agoExplain → -
uno
UNO card game with bot AI strategies, playable in browser or CLI
JavaScript ★ 1 5mo agoExplain → -
dag ⑂
Generate DAGs of Melange packages
★ 1 3y agoExplain → -
promo-tools ⑂
Container and file artifact promotion tooling for the Kubernetes project
★ 1 3y agoExplain → -
edu ⑂
Educational Resources for Software Supply Chain Security
★ 1 5mo agoExplain → -
node
Minimal container image for running NodeJS apps
★ 1 3y agoExplain → -
golink ⑂
A private shortlink service for tailnets
CSS ★ 1 3y agoExplain → -
terraform-google-prober ⑂
A terraform module and Go library for deploying probers to Google Cloud Run
★ 1 2y agoExplain → -
bootstrap-stage3 ⑂
Stage3 bootstrap for Wolfi
★ 1 2y agoExplain → -
deved-autodocs ⑂
Automated Docs (experimental)
★ 1 3y agoExplain → -
wolfictl ⑂
A CLI used to work with the Wolfi OSS project
Go ★ 1 1y agoExplain → -
tools ⑂
Various tools, images, etc. to support the Wolfi OSS project
★ 1 1y agoExplain → -
reggie ⑂
Simple Go HTTP client for OCI Distribution, built on top of Resty
★ 1 3y agoExplain → -
dev-toolbox ⑂
Generalized mono dev container
★ 1 3y agoExplain → -
policy-catalog ⑂
No description.
★ 1 3y agoExplain → -
dag.dev ⑂
No description.
★ 1 3mo agoExplain → -
kots ⑂
KOTS provides the framework, tools and integrations that enable the delivery and management of 3rd-party Kubernetes applications, a.k.a. Kubernetes Off-The-Shelf (KOTS) Software.
★ 1 2y agoExplain → -
external-attacher ⑂
Sidecar container that watches Kubernetes VolumeAttachment objects and triggers ControllerPublish/Unpublish against a CSI endpoint
★ 1 3y agoExplain → -
wolfstation ⑂
A Wolfi-based image for use with Google Cloud Workstations
★ 1 2y agoExplain → -
gh-cli ⑂
GitHub’s official command line tool
★ 1 2y agoExplain → -
krustlet ⑂
Kubernetes Rust Kubelet
★ 1 2y agoExplain → -
setup-terraform ⑂
Sets up Terraform CLI in your GitHub Actions workflow.
★ 1 2y agoExplain → -
faq ⑂
Frequently Asked Questions
★ 1 2y agoExplain → -
build-push-action ⑂
GitHub Action to build and push Docker images with Buildx
TypeScript ★ 1 2y agoExplain → -
cftf
Example using Terraform to deploy to Cloudflare Workers
HCL ★ 1 2y agoExplain → -
bqrekor
Scraping Rekor into a BigQuery dataset
HCL ★ 1 2y agoExplain → -
sdk ⑂
Public SDK for integrating with the Chainguard platform
★ 1 2y agoExplain → -
images-autodocs ⑂
Automated Documentation for Chainguard Images
PHP ★ 1 2y agoExplain → -
istio.io ⑂
Source for the istio.io site
★ 1 2y agoExplain → -
terraform-cloudrun-glue ⑂
A repository containing a collection of "glue" modules for encapsulating common Cloud Run patterns.
HCL ★ 1 7mo agoExplain → -
google-cloud-go ⑂
Google Cloud Client Libraries for Go.
★ 1 2y agoExplain → -
devpod ⑂
Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker.
★ 1 2y agoExplain → -
incert ⑂
Add CA certificates into containers
★ 1 1y agoExplain → -
build-test
testing apk builds
★ 1 1y agoExplain → -
meta ⑂
Charm's meta configuration files 🫥
★ 1 1y agoExplain → -
argo-cd ⑂
Declarative Continuous Deployment for Kubernetes
★ 1 1y agoExplain → -
gobump ⑂
Go tool to declaratively bump dependencies.
★ 1 1y agoExplain → -
wolfi-actions ⑂
A collection of reusable Github Actions workflows.
★ 1 1y agoExplain → -
k8sless
No description.
Go ★ 1 9mo agoExplain → -
grype ⑂
A vulnerability scanner for container images and filesystems
Go ★ 1 1y agoExplain → -
work-rs ▣
Basic Rust web server example for Cloudflare Workers / R2 / DO
Rust ★ 1 10mo agoExplain → -
claude-test
No description.
JavaScript ★ 1 10mo agoExplain → -
cue ⑂
The home of the CUE language! Validate and define text-based and dynamic configuration
★ 1 8mo agoExplain → -
apk-tools ⑂
[MIRROR] Alpine package manager
★ 1 8mo agoExplain → -
gcplog-rs
A Rust tracing subscriber that emits logs as JSON for Google Cloud Logging
Rust ★ 1 8mo agoExplain → -
container ⑂
A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon.
Swift ★ 1 5mo agoExplain → -
endoflife.date ⑂
Informative site with EoL dates of everything
★ 1 5mo agoExplain → -
kubeapps ⑂
A web-based UI for deploying and managing applications in Kubernetes clusters.
★ 1 6mo agoExplain → -
litestream ⑂
Streaming replication for SQLite.
★ 1 5mo agoExplain → -
slight
An experiment to delete unused vendored dep code
Go ★ 1 5mo agoExplain → -
snoop
No description.
C ★ 1 5mo agoExplain → -
gobinsize
No description.
Go ★ 1 7mo agoExplain → -
gcp-metrics-action
Export GitHub Actions metrics and traces to GCP
JavaScript ★ 1 5mo agoExplain → -
uss-wasp ▣
Tactical tabletop wargame centered around amphibious assaults
TypeScript ★ 1 9mo agoExplain → -
rekor-bq
Ingest Rekor entries into BigQuery
HCL ★ 1 10mo agoExplain → -
sigstore-screenshot
No description.
JavaScript ★ 1 1y agoExplain → -
tank-commander
Experimental rules for a table-top tank battle game
★ 1 1y agoExplain → -
must
No description.
Go ★ 0 3d agoExplain → -
wolf3d
No description.
JavaScript ★ 0 8d agoExplain → -
imjasonh-setup-crane ⑂
No description.
★ 0 17d agoExplain → -
costco-generator
No description.
HTML ★ 0 16d agoExplain → -
gcsfuse ⑂
A user-space file system for interacting with Google Cloud Storage
★ 0 1mo agoExplain → -
targz ⑂
No description.
★ 0 1mo agoExplain → -
approval-task ▣
No description.
Go ★ 0 6y agoExplain → -
sample-task ▣
No description.
Go ★ 0 6y agoExplain → -
webgpu-war
Play 1M/sec games of war and collect stats + outliers
JavaScript ★ 0 2mo agoExplain → -
lotsadeps
No description.
Go ★ 0 2mo agoExplain → -
group-task ▣
No description.
Shell ★ 0 6y agoExplain → -
npm-snoop
Collect NPM publish/delete events into BigQuery
Go ★ 0 2mo agoExplain → -
gemini-cli ⑂
An open-source AI agent that brings the power of Gemini directly into your terminal.
TypeScript ★ 0 3mo agoExplain → -
oci2squashfs
OCI to squashfs prototype, without needing to extract layers to disk
★ 0 3mo agoExplain → -
krata ⑂
krata is a Xen control plane in Rust.
★ 0 3mo agoExplain → -
nethackbot
No description.
★ 0 3mo agoExplain → -
bazel-central-registry ⑂
The central registry of Bazel modules for the Bzlmod external dependency system.
★ 0 3mo agoExplain → -
morse
No description.
JavaScript ★ 0 3mo agoExplain → -
golicenses ▣
License lookup for Go packages
Go ★ 0 4mo agoExplain → -
tank-combat
Card game to simulate tank combat
JavaScript ★ 0 3mo agoExplain → -
enforce-events ⑂
No description.
★ 0 1y agoExplain → -
whatsit
Chrome extension to figure out how a page is built
JavaScript ★ 0 4mo agoExplain → -
screenshots
https://www.chainguard.dev/
★ 0 4mo agoExplain → -
loom
No description.
Python ★ 0 5mo agoExplain → -
jujutsu-tutorial ⑂
trying to figure out this jujutsu thing
★ 0 5mo agoExplain → -
nettrack
Chrome extension to track time spent waiting for pages to load
JavaScript ★ 0 6mo agoExplain → -
chainguard-npm-tools
temp
JavaScript ★ 0 4mo agoExplain → -
another-checkov-action
No description.
JavaScript ★ 0 7mo agoExplain → -
beatemup ▣
No description.
Go ★ 0 7mo agoExplain → -
boilerplate-check ⑂
No description.
★ 0 7mo agoExplain → -
meet-ticker
Google Meet add-on to track total person-minutes spent
JavaScript ★ 0 8mo agoExplain → -
terminus
No description.
Go ★ 0 8mo agoExplain → -
3d-term
No description.
★ 0 9mo agoExplain → -
yolo
No description.
★ 0 9mo agoExplain → -
gha-test
No description.
★ 0 9mo agoExplain → -
scad-to-png
No description.
OpenSCAD ★ 0 1y agoExplain → -
scanfrog ⑂
A Frogger-style terminal game that visualizes container vulnerabilities discovered by Grype
Go ★ 0 9mo agoExplain → -
malcontent-action ⑂
Run malcontent security scanner on pull requests to detect malicious behavior changes between commits
★ 0 10mo agoExplain → -
apkviz
No description.
TypeScript ★ 0 1y agoExplain → -
dodec
3D board game prototype
TypeScript ★ 0 1y agoExplain → -
cg-.github ⑂
Default files to be used for any public repository under the chainguard-dev organization.
★ 0 1y agoExplain → -
ratify ⑂
Artifact Ratification Framework
★ 0 4y agoExplain → -
workflow-public
No description.
★ 0 1y agoExplain → -
go ⑂
The Go programming language
Go ★ 0 1y agoExplain → -
terraform-provider-imagetest ⑂
No description.
★ 0 8mo agoExplain → -
workflow-test
No description.
★ 0 1y agoExplain → -
jitsu-chart ⑂
No description.
★ 0 1y agoExplain → -
wolfi-os ⑂
Main package repository for production Wolfi images
Shell ★ 0 7mo agoExplain → -
compat
No description.
Go ★ 0 6y agoExplain → -
rules_go ⑂
Go rules for Bazel
Go ★ 0 9y agoExplain → -
VictoriaMetrics ⑂
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
★ 0 1y agoExplain → -
go-envconfig ⑂
A Go library for parsing struct tags from environment variables.
★ 0 1y agoExplain → -
envconfig ⑂
Golang library for managing configuration data from environment variables
★ 0 1y agoExplain →
No repos match these filters.