Skip to content

Instantly share code, notes, and snippets.

View thbkrkr's full-sized avatar
🐳

Thibault Richard thbkrkr

🐳
View GitHub Profile
@thbkrkr
thbkrkr / c8rl.sh
Created May 27, 2019 14:24
Kubernetes API curl script
c8rl() {
local cacert=/dev/shm/ca.crt
if [[ ! -f $cacert ]]; then
SECRET=$(kubectl get serviceaccount default -o json | jq -Mr '.secrets[].name | select(contains("token"))')
export TOKEN=$(kubectl get secret ${SECRET} -o json | jq -Mr '.data.token' | base64 -d)
export APISERVER=https://$(kubectl -n default get endpoints kubernetes --no-headers | awk '{ print $2 }')
kubectl get secret ${SECRET} -o json | jq -Mr '.data["ca.crt"]' | base64 -d > $cacert
fi
local uri=${1:-version}
@thbkrkr
thbkrkr / rev-docker-img.sh
Created April 24, 2019 11:48
Reverse Docker image
#!/bin/sh
docker history --no-trunc "$1" \
| tac \
| tr -s ' ' \
| cut -d " " -f 5- \
| sed 's,^/bin/sh -c #(nop) ,,g' \
| sed 's,^/bin/sh -c,RUN,g' \
| sed 's, && ,\n & ,g' \
| sed 's,\s*[0-9]*[\.]*[0-9]*[kMG]*B\s*$,,g' \
@thbkrkr
thbkrkr / .myzshrc
Created April 9, 2019 21:46
hello gcloud run
grun() {
[[ "$PROJECT_ID" == "" ]] && echo "PROJECT_ID not set" && return
[[ ! -f Dockerfile ]] && echo "Dockerfile not found" && return
local name=$(basename $(pwd))
local image=gcr.io/$PROJECT_ID/$name
docker build -t $image .
docker push $image
gcloud beta run deploy --allow-unauthenticated --image $image $name
@thbkrkr
thbkrkr / crypt.sh
Created September 29, 2018 20:30
crypt
#!/bin/bash -eu
name=cslash device=/dev/nvme0n1p5
sudo cryptsetup -c aes-xts-plain64 --hash sha512 --key-size 512 luksFormat -v $device
sudo cryptsetup luksOpen $device $name
sudo mkfs.ext4 -m 0 /dev/mapper/$name
echo "$name $device none luks,timeout=30" | sudo tee -a /etc/crypttab
echo "/dev/mapper/$name / ext4 errors=remount-ro 0 1" | sudo tee -a /etc/fstab
@thbkrkr
thbkrkr / keybase.md
Created August 28, 2018 07:16
Keybase proof

Keybase proof

I hereby claim:

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

To claim this, I am signing this object:

@thbkrkr
thbkrkr / list_burger_quiz.sh
Last active June 17, 2018 15:41
List Burger Quiz episodes
#!/bin/sh -e
curl -s 'http://www.topreplay.tv/index.php?do=search' \
-d 'do=search&subaction=search&search_start=0&full_search=0&result_from=1&story=burger+quiz' \
| pup 'div.img-short-title a attr{href}'
@thbkrkr
thbkrkr / k8s-cpumem-reqlim.sh
Last active June 8, 2022 21:12
Get Kubernetes CPU and Memory requested
#!/bin/bash -eu
#
# Get Kubernetes CPU and memory requested
#
main() {
declare kubeconfig=$1
declare node_match="${2:-""}"
if [[ ! -f $kubeconfig ]]; then
@thbkrkr
thbkrkr / kube.tf
Created May 26, 2018 10:52
Terraform config to deploy a bunch of yaml
variable kubeconfig {
default = "/ops/clusters/c1.test/config/kubectl.secrets.conf"
}
variable dirconfig {
default = "/ops/k8s-deployments/kube-state-metrics"
}
variable prefix {
default = "kube-state-metrics-"
}
@thbkrkr
thbkrkr / install-kube-in-docker.sh
Last active May 12, 2018 10:12
Kubernetes in Docker
wget https://cdn.rawgit.com/Mirantis/kubeadm-dind-cluster/master/fixed/dind-cluster-v1.9.sh
chmod +x dind-cluster-v1.9.sh
# start the cluster
./dind-cluster-v1.9.sh up
# add kubectl directory to PATH
export PATH="$HOME/.kubeadm-dind-cluster:$PATH"
kubectl get nodes