Skip to content

Instantly share code, notes, and snippets.

@bjaglin
bjaglin / remove-orphan-images.sh
Last active March 31, 2024 22:54
Remove orphan layers left by the "file" storage backend of the docker registry, heavily inspired by https://gist.github.com/shepmaster/53939af82a51e3aa0cd6
#!/bin/bash
set -eu
shopt -s nullglob
readonly base_dir=/var/lib/docker/registry
readonly output_dir=$(mktemp -d -t trace-images-XXXX)
readonly jq=/usr/bin/jq
readonly repository_dir=$base_dir/repositories
#!/bin/bash
set -eu
shopt -s nullglob
readonly base_dir=/var/local/docker-registry
readonly output_dir=$(mktemp -d -t trace-images-XXXX)
readonly jq=/tmp/jq
readonly repository_dir=$base_dir/repositories
@hvoecking
hvoecking / translate.go
Last active January 22, 2025 05:35
Golang reflection: traversing arbitrary structures
// Traverses an arbitrary struct and translates all stings it encounters
//
// I haven't seen an example for reflection traversing an arbitrary struct, so
// I want to share this with you. If you encounter any bugs or want to see
// another example please comment.
//
// The MIT License (MIT)
//
// Copyright (c) 2014 Heye Vöcking
//
@yudai
yudai / local.rake
Created September 26, 2013 06:04
For building stemcells locally. Put this rake file as `bosh-dev/lib/bosh/dev/tasks/local.rake`, and run `sudo CANDIDATE_BUILD_NUMBER=3939 bundle exec rake "local:build_microbosh[openstack,ubuntu]"`.
namespace :local do
desc 'build MicroBOSH Stemcell locally'
task :build_microbosh, [:infrastructure_name, :operating_system_name] do |_, args|
require 'bosh/dev/build'
require 'bosh/dev/micro_bosh_release'
require 'bosh/dev/stemcell_builder'
build = Bosh::Dev::Build.candidate
release_tarball_path = Bosh::Dev::MicroBoshRelease.new.tarball
@danielsdeleo
danielsdeleo / gist:2920702
Created June 12, 2012 23:06
Eval and Converge a Single Chef Recipe
#!/usr/bin/env ruby
recipe_path = ARGV[0]
if recipe_path.nil?
STDERR.puts "usage: chef-apply RECIPE_FILE"
exit 1
end
recipe_path = File.expand_path(recipe_path)
@plexus
plexus / root_certificates.rb
Created May 11, 2012 13:29
Monkey patch Ruby 1.9 net/http to read system's root certificates
# Please fork if you can improve this. (e.g. Windows support)
#
# Ruby 1.9 doesn't contain any SSL root certificates, neither does it read the ones
# installed with your operating system. This results in an error like
#
# SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
#
# This solution is based on http://martinottenwaelter.fr/2010/12/ruby19-and-the-ssl-error/
# but can be used to monkey patch 3rd party tools, e.g. Github's 'gist' command.
#
@paulsturgess
paulsturgess / remote_mysql.rb
Created February 2, 2012 16:55
Run a MySQL command on a remote server (via SSH) using Ruby
#!/usr/bin/env ruby
require 'rubygems'
require 'mysql'
require 'net/ssh/gateway'
HOST = ''
SSH_USER = ''
SSH_PASS = ''
DB_HOST = "127.0.0.1"
DB_USER = ""