Skip to content

Instantly share code, notes, and snippets.

Avatar

Jesse Dearing jessedearing

View GitHub Profile
View fixup-certs.py
#!/usr/bin/env python3
import base64
import json
from kubernetes import config, client, dynamic
from cryptography import x509
from cryptography.hazmat.backends import default_backend
config.load_kube_config()
dc = dynamic.DynamicClient(client=client.ApiClient())
View check_expiration.py
#!/usr/bin/env python3
import base64
import argparse
from datetime import datetime, timedelta
from cryptography import x509
from cryptography.hazmat.backends import default_backend
from kubernetes import client, config
config.load_kube_config()
@jessedearing
jessedearing / g.go
Last active Oct 3, 2019
Simple go program to record timings for git pulls, pushes, and fetches
View g.go
package main
import (
"fmt"
"os"
"os/exec"
"strconv"
"strings"
"time"
)
View etcdvars.sh
export ETCDCTL_API=3 ETCDCTL_CACERT=$ETCD_TRUSTED_CA_FILE ETCDCTL_CERT=$ETCD_CERT_FILE ETCDCTL_KEY=$ETCD_KEY_FILE ETCDCTL_DISCOVERY_SRV=$ETCD_DISCOVERY_SRV
View main_rds.tf
resource "aws_db_instance" "main" {
allocated_storage = 10
storage_type = "gp2"
engine = "mysql"
engine_version = "5.7"
instance_class = "db.t2.micro"
name = "main"
username = "root"
password = "${data.external.something_in_one_password.result.password}"
parameter_group_name = "default.mysql5.7"
View one_password.tf
data "external" "something_in_one_password" {
program = ["${path.cwd}/bin/one_password.sh"]
query = {
vault = "Personal"
uuid = "abc123"
}
}
View one_password.sh
#!/usr/bin/env bash
set -e
# Eval so we can set the JSON values as shell variables
eval "$(jq -r '@sh "VAULT=\(.vault) UUID=\(.uuid)"')"
# Get the token or password from the first field of the second section (this is just how I store them, but you could use jq's select
password=`op get item --vault=$VAULT $UUID | jq -r '.details.sections[1].fields[0].v'`
View webtask_hack.js
const express = require('express')
const Webtask = require('webtask-tools')
const bodyParser = require('body-parser')
const MessagingResponse = require("twilio").twiml.MessagingResponse
const request = require('request-promise-native')
var app = express();
app.use(bodyParser.json());
View Risky Business.wiki

Risky Business

Presenter

Jesse Dearing

Abstract

As we operate production systems they inevitably fail. As they fail and fail and fail again we as operators start to identify the way they fail and we know the causes of the failures. What if we could see the future and predict failures before they happen. We're

View get_etc_hosts_by_aws_tag.sh
aws --profile invision ec2 describe-instances --filters "Name=tag:Service,Values=mongo" | jq -r '.Reservations[].Instances[] | .PrivateIpAddress + " "+ (.Tags[] | select(.Key == "Name")).Value' | v -