Skip to content

Instantly share code, notes, and snippets.

$ ./hsandbox go
Traceback (most recent call last):
File "./hsandbox", line 519, in <module>
main(sys.argv)
File "./hsandbox", line 508, in main
screen(hacking, argv, vertical)
File "./hsandbox", line 348, in screen
del os.environ["TMUX"]
File "/usr/lib64/python2.7/os.py", line 496, in __delitem__
del self.data[key]
@sheldonh
sheldonh / docker-registry-mirror.service
Last active March 2, 2016 08:55
Docker registry mirror systemd service unit file
[Unit]
Description=Docker registry mirror
After=docker.service
Requires=docker.service
[Service]
Environment=UNIT=docker-registry-mirror
TimeoutStartSec=0
ExecStartPre=/usr/bin/docker pull registry
ExecStartPre=-/usr/bin/docker run --name ${UNIT}-dvc -v /tmp/registry busybox true
[sheldonh@localhost etcdctl]$ cat Dockerfile
FROM golang:1.3.3-onbuild
RUN ln -s /go/bin/app /usr/bin/etcdctl
WORKDIR /
CMD ["/bin/bash"]
[sheldonh@localhost etcdctl]$ grep -bo R Dockerfile
1:R
@sheldonh
sheldonh / follow-leader.sh
Created October 7, 2014 20:24
follow etcd leader
#!/bin/sh
kill_daemon() {
pid=$(getpid)
if [ -n "$pid" ]; then
echo "DEBUG: killing $pid" 1>&2
kill $pid
while kill -0 $pid 2>/dev/null; do
if ! sleep 1; then
trap EXIT
@sheldonh
sheldonh / gist:6bbf60184072b46843fd
Created October 6, 2014 16:44
Undesirable Docker masquerade
Background:
===========
Running docker with --bip to support routing amongst containers across a CoreOS cluster.
Connections established outbound from containers are masqueraded to the host address. :-(
The culprit:
============
@sheldonh
sheldonh / fleetctlrc
Created September 22, 2014 08:39
Fleet tunnel config
FLEETCTL_TUNNEL="$(vagrant ssh-config core-01 | sed -n "s/[ ]*HostName[ ]*//gp"):$(vagrant ssh-config core-01 | sed -n "s/[ ]*Port[ ]*//gp")"
export FLEETCTL_TUNNEL
---
# pods/private-docker-registry.yml
id: private-docker-registry
kind: Pod
desiredState:
manifest:
id: privateDockerRegistry
version: v1beta1
containers:
- name: registry
@sheldonh
sheldonh / mirror.log
Created September 16, 2014 09:31
docker-registry mirror log
172.17.8.1 - - [16/Sep/2014:09:28:37] "GET /v1/_ping HTTP/1.1" 200 4 "-" "Go 1.1 package http"
2014-09-16 09:28:37,434 INFO: 172.17.8.1 - - [16/Sep/2014:09:28:37] "GET /v1/_ping HTTP/1.1" 200 4 "-" "Go 1.1 package http"
2014-09-16 09:28:37,438 DEBUG: args = {'namespace': 'library', 'repository': u'busybox'}
2014-09-16 09:28:37,438 DEBUG: api_error: images not found
2014-09-16 09:28:37,440 DEBUG: Source provided, registry acts as mirror
2014-09-16 09:28:37,440 DEBUG: Request: GET https://index.docker.io/v1/repositories/busybox/images
Headers: {'X-Docker-Token': u'true', 'Accept-Encoding': u'gzip', 'User-Agent': u'docker/1.2.0 go/go1.2.2 kernel/3.16.2-200.fc20.x86_64 os/linux arch/amd64'}
2014-09-16 09:28:37,455 INFO: Starting new HTTPS connection (1): index.docker.io
2014-09-16 09:28:39,104 DEBUG: "GET /v1/repositories/busybox/images HTTP/1.1" 200 None
2014-09-16 09:28:39,105 WARNING: {'x-docker-token': 'signature=2f670a58ee92ad39ffd15cc69c504fc435361f9d,repository="library/busybox",access=read', 'transfer-enc
@sheldonh
sheldonh / gist:4e8c5d2950310ed2e0d3
Created September 11, 2014 10:13
fleetctl hang
fleetctl start redis-1-slave-1-amb-master.service
Unit redis-1-slave-1-amb-master.service launched on ddb48170.../172.17.8.102
fleetctl start redis-1-slave-1.service
<<...hangs...>>
# redis-1-slave-1-amb-master.service
####################################
[Unit]
Description=Redis cluster 1 slave 1 ambassador to master
@sheldonh
sheldonh / redis-node-sentinel.js
Last active August 29, 2015 14:06
Tiny sentinel for a redis cluster in a docker cloud
var redis = require('haredis');
var uuid = require('node-uuid');
var swig = require('swig');
var defaultRedises = '{{REDIS1_PORT_10000_TCP_ADDR}}:10000 {{REDIS2_PORT_10000_TCP_ADDR}}:10000 {{REDIS3_PORT_10000_TCP_ADDR}}:10000';
var template = process.env.REDISES || defaultRedises;
var redises = swig.compile(template)(process.env).split(/\s+/);
var id = process.env.HOSTNAME || uuid.v4();
var keepaliveMilliseconds = process.env.KEEPALIVE_MS || 3000;