Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am jmcarp on github.
  • I am jmcarp (https://keybase.io/jmcarp) on keybase.
  • I have a public key ASCz8cjL4vwn64A9anzn1NH02Dwztm_xCz0kwp3_dj_G3go

To claim this, I am signing this object:

@jmcarp
jmcarp / notify-sandbox-users.py
Last active February 3, 2017 02:35
notify-sandbox-users.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import requests
from requests_oauthlib import OAuth2Session
def get_info(api_url):
resp = requests.get('{}/v2/info'.format(api_url))
@jmcarp
jmcarp / controller-manager
Last active December 14, 2016 19:53
k8s-ebs-debug
------------ STARTING controller-manager_ctl at Wed Dec 14 18:38:00 UTC 2016 --------------
I1214 18:38:00.697691 5417 leaderelection.go:247] lock is held by 306e0ee4-b6a8-454b-b199-6c8547deb849 and has not yet expired
I1214 18:38:04.160237 5417 leaderelection.go:188] sucessfully acquired lease kube-system/kube-controller-manager
I1214 18:38:04.160557 5417 event.go:217] Event(api.ObjectReference{Kind:"Endpoints", Namespace:"kube-system", Name:"kube-controller-manager", UID:"72c92afa-c22c-11e6-ac5f-028961b0177d", APIVersion:"v1", ResourceVersion:"5820764", FieldPath:""}): type: 'Normal' reason: 'LeaderElection' 7ec92627-d913-44ad-b3f7-3ea5c1fb9b65 became leader
I1214 18:38:04.169568 5417 aws.go:746] Building AWS cloudprovider
I1214 18:38:04.169636 5417 aws.go:700] Zone not specified in configuration file; querying AWS metadata service
I1214 18:38:04.171050 5417 replication_controller.go:219] Starting RC Manager
I1214 18:38:04.284034 5417 replication_controller.go:653] Waiting for pods cont
@jmcarp
jmcarp / deployer-account-broker.go
Created October 28, 2016 03:11
deployer account broker
package main
import (
"context"
"errors"
"fmt"
"code.cloudfoundry.org/lager"
"github.com/cloudfoundry-community/go-cfclient"
"github.com/pivotal-cf/brokerapi"
@jmcarp
jmcarp / alerts.clj
Created October 27, 2016 01:08
new adventures in stream processing
;; Goal: Page if the firehose stops sending to riemann, and close pages if it resumes
;; Replace all firehose events with synthetic heartbeat events and index, then merge with existing stream and listen for expiration
;; h/t @sharms
(where (service #"^cf.*")
(smap (fn [ev] (if (= (:state ev) nil) (event {:service "cf.nozzle.heartbeat" :host "internal" :metric 1 :state "ok" :ttl 30}) ev)) index
(where (service "cf.nozzle.heartbeat")
(changed-state {:init "ok"}
(where (state "ok") (:resolve pd)
(else (where (state "expired") (:trigger pd))))))))
meta:
name: (( param "specify name" ))
aws:
bucket: (( param "specify bucket name" ))
access_key_id: (( param "specify access key" ))
secret_access_key: (( param "specify secret key" ))
region: (( param "specify region" ))
tasks:
url: (( param "specify tasks url" ))
branch: (( param "specify tasks branch" ))
@jmcarp
jmcarp / load.py
Created September 9, 2016 04:32
email-load-test
import os
import re
import time
import uuid
import base64
import httplib2
from apiclient import discovery
import oauth2client
from oauth2client import client
@jmcarp
jmcarp / login.py
Created September 8, 2016 19:30
simple-load-test
import os
import faker
import locust
import pyquery
fake = faker.Faker()
username, password = os.getenv('AUTH_USER'), os.getenv('AUTH_PASS')
auth = (username, password) if username and password else ()
@jmcarp
jmcarp / extract.py
Created September 2, 2016 23:18
concourse extract
#!/usr/bin/env python
# encoding: utf-8
import re
import sys
import yaml
parameter = re.compile(r'{{(.+)}}')
def extract(templated, complete):
if isinstance(templated, list):
@jmcarp
jmcarp / jump.sh
Created July 15, 2016 01:22
jumpbox
#!/usr/bin/expect
set timeout 30
set target [lindex $argv 0];
set environment [lindex $argv 1];
spawn ./trigger.sh $target $environment
expect "choose a container"
set lines [split $expect_out(buffer) \n]