Skip to content

Instantly share code, notes, and snippets.

Avatar

sdkks sdkks

  • Singapore
View GitHub Profile
@sdkks
sdkks / README.md
Last active Mar 27, 2020
How to SSH to Kubernetes Pod with SSH ProxyCommand using socat
View README.md

Requirements

  1. socat
  2. kubectl with proper ~/.kube/config that can connect to your cluster
  3. Working knowledge of kubectl client
  4. OpenSSH client

How does it work?

  1. kubectl does port forwarding to sshd port of your pod. I'm using pm2 process managed to keep my services alive in my workstation container. If you have only sshd, easiest to use is dropbear
  2. ProxyCommand of OpenSSH client uses socat to redirect two way fd - to forwarded port of kubectl
  3. Voila! You are in
@sdkks
sdkks / README.md
Last active Sep 22, 2018
Windows how to copy paste like Mac OSX terminal using Alt instead of CMD in Linux Terminal Emulators with AHK AutoHotKey
View README.md

HOW TO

Why

Copy Paste (CTRL+C) command doesn't work for Linux terminals as CTRL+C is used for SIGINT signal to stop/interrupt works on Linux shell.

Prerequisites

You are on Windows but need to have Linux shell like bash or zsh and using one of popular terminal emulators

Steps

  1. Download and Install AHK (AutoHotKey) // https://autohotkey.com/
  2. Put copy-paste.ahk anywhere in your machine and double click after saving it.
  3. Voila, now Alt + C (same position as CMD + C) will work just like Macbook on most of Linux Terminal emulators on Windows (tested with Cmder, MinTTY, Hyper.JS)
@sdkks
sdkks / .profile.ps1
Last active Sep 15, 2018
How to use Hyper.JS with PowerShell to Connect to your Kubernetes (K8S) Workstation Terminal
View .profile.ps1
Set-PSReadlineOption -EditMode Emacs
$env:KUBECONFIG="c:\Users\<your path to special kubeconfig for your gke/eks/aks cluster>\kube-config"
kubectl get pod | Select-String "ws-" | Select-String "Running" | %{ "$_".split(" ")[0]} | %{kubectl exec -ti $_ -- su - said}
@sdkks
sdkks / .vacuum-nodes.sh
Created Jul 14, 2018
Vacuum journalctl of nodes in your inventory
View .vacuum-nodes.sh
#!/usr/bin/env bash
exitCode(){
case $1 in
0)
echo "Completed with success"
;;
*)
echo "Exited with failure: $1"
;;
@sdkks
sdkks / curl_timer.sh
Created Jun 2, 2018
Get URL Load Speed Using CURL
View curl_timer.sh
#!/usr/bin/env bash
case $1 in
http*)
URL="$1"
;;
*)
echo "Please provide URL as positional parameter. i.e.: ./script <url>"
exit 1
;;
esac
@sdkks
sdkks / iterm_nvim.AppleScript
Last active Nov 7, 2019
Open File with iTerm2 + nvim on OSX using Automator
View iterm_nvim.AppleScript
on run {input, parameters}
-- If run without input, open random file at $HOME
try
set filename to POSIX path of input
on error
set filename to "nvim-" & (do shell script "date +%F") & "__" & (random number from 1000 to 9999) & ".txt"
end try
-- Set your editor here
set myEditor to "/usr/local/bin/nvim"
-- Open the file and auto exit after done
You can’t perform that action at this time.