Skip to content

Instantly share code, notes, and snippets.

View tylerhenthorn's full-sized avatar
👍

Tyler Henthorn tylerhenthorn

👍
View GitHub Profile
@tylerhenthorn
tylerhenthorn / Makefile
Last active September 7, 2025 04:47
SSH bastion tunnel Makefile
# Mark targets as phony since they don't produce files
.PHONY: help ssh-bastion ssh-private
# Find an available port for tunneling
PORT := $(shell for p in $$(seq 12200 12300); do if ! ss -tlnp | grep -q ":$$p "; then echo $$p; break; fi; done)
# Show available targets and their descriptions
help:
@echo "Available targets:"
@echo " ssh-bastion - Connect directly to the bastion host"
@tylerhenthorn
tylerhenthorn / tf_docker.fish
Last active September 29, 2021 09:02
A fish-shell function for running Terraform with Docker
function tf_docker
if not test $tf_version
set tf_version '0.15.5'
end
if not test $tf_profile
set tf_profile 'terraform'
end
docker run -i -t \
@tylerhenthorn
tylerhenthorn / s3_list_objects.py
Created August 19, 2021 06:13
List objects in a large S3 bucket
import boto3
bucket = ''
prefix = ''
client = boto3.client('s3', region_name='us-west-2')
paginator = client.get_paginator('list_objects')
operation_parameters = {'Bucket': bucket,
'Prefix': prefix}
page_iterator = paginator.paginate(**operation_parameters)
@tylerhenthorn
tylerhenthorn / s3_list_object_versions.py
Last active March 18, 2020 10:50
Return a list of object versions from an S3 bucket
import boto3 as boto
client = boto.client('s3')
Bucket = 'some-s3-bucket-name'
MaxKeys = 1000
KeyMarker = None
Prefix = ''
response = client.list_object_versions(
Bucket=Bucket,
@tylerhenthorn
tylerhenthorn / get_repos.py
Last active May 9, 2019 03:12
List all the GitHub repositories in an organization
from github import Github
g = Github("AUTH_TOKEN")
org = g.get_organization("ORGANIZATION")
for repo in org.get_repos():
print(repo.ssh_url)

Keybase proof

I hereby claim:

  • I am tylerhenthorn on github.
  • I am tylerhenthorn (https://keybase.io/tylerhenthorn) on keybase.
  • I have a public key ASCLsodSpVENBdDML3fR3IC46CrQ9DPuJKZ0xRIi57_TMwo

To claim this, I am signing this object:

import sys, urllib
users = sys.argv[1:]
def get_keys(user):
url = "http://github.com/%s.keys" % user
response = urllib.urlopen(url)
data = response.read()
return str(data)
@tylerhenthorn
tylerhenthorn / s3signurl.py
Created November 18, 2016 22:34 — forked from obeattie/s3signurl.py
Quick, dirty Python script that spits out a signed url for Amazon S3
#!/usr/bin/env python
import optparse
import sys
from boto.s3.connection import S3Connection
def sign(bucket, path, access_key, secret_key, https, expiry):
c = S3Connection(access_key, secret_key)
return c.generate_url(
expires_in=long(expiry),
@tylerhenthorn
tylerhenthorn / gpg2qrcodes.sh
Last active April 1, 2019 19:00 — forked from joostrijneveld/gpg2qrcodes.sh
Producing printable QR codes for persistent storage of GPG private keys
# Heavily depends on:
# libqrencode (fukuchi.org/works/qrencode/)
# paperkey (jabberwocky.com/software/paperkey/)
# zbar (zbar.sourceforge.net)
# Producing the QR codes:
# Split over 4 codes to ensure the data per image is not too large.
gpg --export-secret-key KEYIDGOESHERE | paperkey --output-type raw | base64 > temp
split -b 1363 temp img
for f in img*; do cat $f | qrencode -o $f.png; done
@tylerhenthorn
tylerhenthorn / get-docker-registry-version.sh
Created March 10, 2016 20:25
get docker-registry version
# Docker Registry v1
IMAGE_ID=$(docker inspect `docker ps | grep internal_registry | cut -d' ' -f1` | grep Image | grep -v registry | cut -d"\"" -f4) && \
docker run --rm -it $IMAGE_ID /bin/bash -c 'cd /docker-registry && python /docker-registry/setup.py --version'
# Docker Registry v2
IMAGE=$(docker inspect `docker ps | grep internal_registry | cut -d' ' -f1` | grep Image | grep -v registry | cut -d"\"" -f4) && \
docker run --rm $IMAGE_ID --version