Skip to content

Instantly share code, notes, and snippets.

View WintersMichael's full-sized avatar

Michael Winters WintersMichael

View GitHub Profile
@WintersMichael
WintersMichael / ftpmon.php
Created August 21, 2012 22:17
QnD php cli ftp spy
<?php
//Super Q&D. Monitors a single FTP directory for new files.
//Modify the vars below and run as 'php ftpmon.php'.
//Notification is via growlnotify, which requires purchase of growl.
$host = "ftp.host.com";
$user = "ftpuser";
$pass = "secret";
@WintersMichael
WintersMichael / vshef.sh
Created October 5, 2012 18:37
Run shef in vagrant
shef -s -c /tmp/vagrant-chef-1/solo.rb -j /tmp/vagrant-chef-1/dna.json
@WintersMichael
WintersMichael / gist:c70d195c5c5670d1625f
Created November 10, 2014 19:43
Shell one-liner to parse apache access logs and extract a unique URL list with hit count, querystring excluded.
cat access.log | awk -F\" '{print $2}' | awk '{print $2}' | sed '/^$/d' | sed 's/\?.*//g' | sort | uniq -c | sort -rn > url_hits.txt
#!/bin/bash
# from http://stackoverflow.com/questions/3971822/yaml-syntax-validator
ruby -e "require 'yaml';puts YAML.load_file('$1')"
@WintersMichael
WintersMichael / ec2_get_tag.sh
Created February 14, 2017 19:20
Bash to get Name tag on EC2 instances
# Gets any tag value, default 'Name'. Assumes that `aws` CLI is
# installed, and the IAM role has Describe-Tags permissions.
TAG=Name
INSTANCE_ID=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
REGION=$(curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep region | awk -F\" '{print $4}')
TAG_VALUE=$(aws ec2 describe-tags --filters "Name=resource-id,Values=$INSTANCE_ID" "Name=key,Values=$TAG" --region=$REGION --output=text | cut -f5)
@WintersMichael
WintersMichael / pr_clean.sh
Created May 1, 2017 20:19
Pull master and clean dead local branches after a PR
#!/bin/bash
echo "Switching to master and pulling ..."
git checkout master
if [[ ! $? -eq 0 ]]; then
echo
echo Unable to checkout master, aborting.
exit
fi
git pull
@WintersMichael
WintersMichael / check_nodes_for_plugin.sh
Created May 25, 2017 21:29
Find which nodes in your elasticsearch cluster are missing the cloud-aws plugin
#!/bin/bash
#Assumes that you already have jq installed
curl 'localhost:9200/_nodes' | jq '.nodes[] | if (.plugins | map(.name == "cloud-aws") | any) == false then {name: .name, ip: .ip} else empty end'

Keybase proof

I hereby claim:

  • I am MikeSchuette on github.
  • I am mikeschuette (https://keybase.io/mikeschuette) on keybase.
  • I have a public key whose fingerprint is 241A C25E 2FD6 A447 2A07 2B2B 0948 DF33 EAD1 37EC

To claim this, I am signing this object:

Understanding Kubernetes in 10 minutes

This document provides a rapid-fire overview of Kubernetes concepts, vocabulary, and operations. The target audience is anyone who runs applications in a cloud environment today, and who wants to understand the basic mechanics of a Kubernetes cluster. The goal is that within 10 minutes, managers who read this should be able to listen in on a Kubernetes conversation and follow along at a high level, and engineers should be ready to deploy a sample app to a toy cluster of their own.

This orientation doc was written because the official Kubernetes docs are a great reference, but they present a small cliff to climb for newcomers.

If you want to understand why you should consider running Kubernetes, see the official Kubernetes conceptual overview document. This document is intended to complement that one, but one layer deeper.

For a deep dive, see [Kubernetes concepts](https://kubernetes.io/docs/co

#!/bin/bash
ifconfig | grep -E 'inet |inet addr' | awk '{print $2}' | cut -d ':' -f 2 | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)'