Skip to content

Instantly share code, notes, and snippets.

View jwhitlark's full-sized avatar

Jason Whitlark jwhitlark

View GitHub Profile
@jwhitlark
jwhitlark / .envrc
Created February 28, 2019 19:17
Autoclone ...xyz/$GITUSER/$GITREPO into the current directory, when direnv is installed.
PARENT=$(basename $PWD)
GRANDPARENT=$(basename $(dirname $PWD))
REPOPATH=$GRANDPARENT/$PARENT
if [ ! -d .git ]; then
echo "Cloning $REPOPATH into $PWD"
tfile=$(mktemp /tmp/envrc.XXXXXXXXX)
mv .envrc $tfile
git clone https://github.com/$REPOPATH.git ./
mv $tfile .envrc
@jwhitlark
jwhitlark / k8s-client.clj
Created April 30, 2019 01:55
Access Kubernetes API from inside a pod with clojure, clj-http, and a custom ca.crt, with help from aphyr's less-awful-ssl
;; less-awful-ssl {:mvn/version "1.0.4"}
;; clj-http {:mvn/version "3.9.1"}
(let [trust-store (less.awful.ssl/trust-store (clojure.java.io/file "/var/run/secrets/kubernetes.io/serviceaccount/ca.crt"))
bearer-token (format "Bearer %s" (slurp "/var/run/secrets/kubernetes.io/serviceaccount/token"))
kube-api-host (System/getenv "")
kube-api-port (System/getenv "")]
(clj-http.client/get
(format "https://%s:%s/apis/<something-protected>" kube-api-host kube-api-port)
{:trust-store trust-store
@jwhitlark
jwhitlark / gist:b30882e496d1d60a5aebdcd5a2baeb9a
Last active July 31, 2023 18:29
Find a class from the short name (requires google guava)
(take 10 (filter #(clojure.string/ends-with? % "DefaultChannelPool")
(map str (.getAllClasses (com.google.common.reflect.ClassPath/from
(.getContextClassLoader (Thread/currentThread)))))))