Skip to content

Instantly share code, notes, and snippets.

View kchristensen's full-sized avatar

Kyle Christensen kchristensen

View GitHub Profile
@kchristensen
kchristensen / check_rabbit_partitioning.py
Last active August 29, 2015 14:26
Nagios check for Rabbit cluster partitioning
#!/usr/bin/env python
"""
Nagios check to check RabbitMQ cluster for partitioning (split-brain)
"""
import json
import optparse
import logging
import requests
import sys
@kchristensen
kchristensen / letsencrypt.sh
Last active January 2, 2017 15:51
Automatically renew SSL certificates issued by letsencrypt
#!/bin/env bash
function help() {
echo "Usage: $0 -d <DOMAIN> -e <EMAIL> -s <KEYSIZE>"
exit 1
}
DAYS_TO_RENEW=35
EMAIL="[email protected]"
KEY_SIZE=2048
@kchristensen
kchristensen / ec2-instance-slack-watch.py
Last active December 10, 2015 15:28
Notify Slack if people leave EC2 test instances running
#!/usr/bin/env python
import boto3
import json
import requests
from datetime import datetime
filter = [{'Name': 'tag:Name', 'Values': ['test-kitchen', 'Packer']}]
boto3.setup_default_session(profile_name='prod')
ec2 = boto3.resource('ec2')
@kchristensen
kchristensen / docker-watch.sh
Created December 17, 2015 14:00
Watches docker to see if any of your containers have exited abnormally and notifies slack
#!/bin/bash
INSTANCE=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
SLACK_CHANNEL='#ops-notifications'
SLACK_URL='<%= node['base']['slack']['hook'] %>'
SLACK_USERNAME='DockerBot'
for CONTAINER in $(docker ps -a|grep -v CONTAINER|awk '{print $1}')
do
STATE=$(docker inspect -f '{{.State.Running}}' ${CONTAINER})
@kchristensen
kchristensen / fancontrol.sh
Created January 10, 2020 17:19
Dell R720 Fan Control
#!/usr/bin/env bash
CWD=$(dirname "$0")
# This file should contain: IDRAC_PASSWORD="YOUR_PASSWORD"
. ${CWD}/fancontrol.env
IDRAC_HOST="idrac.yourdomain.com"
IDRAC_USER="root"
IPMI_CMD="ipmitool -I lanplus -H ${IDRAC_HOST} -U ${IDRAC_USER} -P ${IDRAC_PASSWORD}"
@kchristensen
kchristensen / wireguard.j2
Last active April 28, 2023 12:12
Turn UnifiOS Wireguard configs into MacOS device profiles
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadDisplayName</key>
<string>WireGuard</string>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadDescription</key>
<string>Configures WireGuard VPN profiles</string>