Skip to content

Instantly share code, notes, and snippets.

@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
@thbkrkr
thbkrkr / sysctl.sh
Created March 5, 2018 15:41
sysctl tuning fs,net,vm
sysctl -w fs.file-max="9999999"
sysctl -w fs.nr_open="9999999"
sysctl -w net.core.netdev_max_backlog="4096"
sysctl -w net.core.rmem_max="16777216"
sysctl -w net.core.somaxconn="65535"
sysctl -w net.core.wmem_max="16777216"
sysctl -w net.ipv4.ip_local_port_range="1025 65535"
sysctl -w net.ipv4.tcp_fin_timeout="30"
sysctl -w net.ipv4.tcp_keepalive_time="30"
sysctl -w net.ipv4.tcp_max_syn_backlog="20480"