Skip to content

Instantly share code, notes, and snippets.

Andrew Sauber asauber

Block or report user

Report or block asauber

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
asauber /
Last active May 21, 2019
CSI 5-minute talk. Feel free to steal this. CC BY 4.0 License


The CSI, Container Storage Interface, is an RPC-based plugin API specification for container storage management.

The container orchestrator (Kubernetes, Mesos, Nomad, etc.) calls RPCs via gRPC, implemented by CSI plugin servers.

The plugin servers (also called drivers), implement three services: Identity, Controller, and Node.

The Identity service informs the container orchestrator about the plugin, its capabilities, and its status.

asauber / calico.yaml
Created Feb 6, 2019
Calico 3.5 self-hosted manifest
View calico.yaml
# Calico Version v3.5.0
# This manifest includes the following component versions:
# calico/node:v3.5.0
# calico/cni:v3.5.0
# This ConfigMap is used to configure a self-hosted Calico installation.
kind: ConfigMap
apiVersion: v1
asauber / cilium.yaml
Last active Feb 6, 2019
Cilium 1.3 manifest
View cilium.yaml
apiVersion: v1
kind: ConfigMap
name: cilium-config
namespace: kube-system
# This etcd-config contains the etcd endpoints of your cluster. If you use
# TLS please make sure you follow the tutorial in
etcd-config: |-
asauber / results.txt
Created Jun 4, 2018
Manager e2e tests setup/teardown refactor test results (42 failures)
View results.txt
yarn run v1.3.2
$ ./node_modules/.bin/wdio ./e2e/config/wdio.conf.js
106 passing (1091.90s)
10 skipped
42 failing
View new_events_observable.js
import * as Rx from 'rxjs/Rx';
import { API_ROOT } from 'src/constants';
import Axios, { AxiosResponse } from 'axios';
import * as moment from 'moment';
function createDatestamp() {
return moment().utc().format('YYYY-MM-DDTHH:mm:ss');
let datestamp = createDatestamp();
asauber /
Last active Dec 16, 2016
grab shing02's mp3s
wget -r -A mp3,mp4,m4a,ogg,flac,wav,aiff,3ga,wma,ram,aac,pcm,midi,snd,mid,m4p,ra,ape,aa3,xa,ac3,fla,mp4b,m2a,mp2,au,mp1 --no-parent
IFS=$'\n'; for f in $(find -type f | egrep ".*\.(mp3|mp4|m4a|ogg|flac|wav|aiff|3ga|wma|ram|aac|pcm|midi|snd|mid|m4p|ra|ape|aa3|xa|ac3|fla|mp4b|m2a|mp2|au|mp1)$"); do mv "$f" .; done
rm -r
View goose-house-logo.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
asauber /
Created Jul 15, 2016
Decrypt a jrnl journal
#!/usr/bin/env python3
from Crypto.Cipher import AES
import hashlib
import sys
import argparse
import getpass
parser = argparse.ArgumentParser()
parser.add_argument("filepath", help="journal file to decrypt")
asauber / gist:b597f95dc1bb90d53892fee078b68ef1
Created Apr 6, 2016
delete all keys from memcache that match a substring
View gist:b597f95dc1bb90d53892fee078b68ef1
mcinspect delete $(mcinspect list | grep <substring> | awk -F'|' '{ print $4 }')
asauber /
Created May 26, 2015
Fast way to read integers from file in Python
from datetime import datetime
import fileinput
start =
L = []
for line in fileinput.input():
print 'time to read 8000000 ints into list using append: ', - start
You can’t perform that action at this time.