Skip to content

Instantly share code, notes, and snippets.

View mlsaito's full-sized avatar

Makoto Saito mlsaito

View GitHub Profile
@mlsaito
mlsaito / kubectl-multi-version-brews.md
Created June 10, 2019 01:41 — forked from rdump/kubectl-multi-version-brews.md
kubectl multi-version brews

kubectl multi-version brews

We need to run multiple versions of kubectl for compatibility with various clusters.

It's a bit easier to get and use multiple versions of kubectl using Homebrew than it is using Macports.

With brew, it's simple to:

  • Install a bunch of versions of kubectl (in the kubernetes-cli Formula)
  • Switch between them as needed
@mlsaito
mlsaito / postgres-cheatsheet.md
Created November 5, 2018 06:21 — forked from Kartones/postgres-cheatsheet.md
PostgreSQL command line cheatsheet

PSQL

Magic words:

psql -U postgres

Some interesting flags (to see all, use -h or --help depending on your psql version):

  • -E: will describe the underlaying queries of the \ commands (cool for learning!)
  • -l: psql will list all databases and then exit (useful if the user you connect with doesn't has a default database, like at AWS RDS)
@mlsaito
mlsaito / cheatsheet.md
Last active August 21, 2018 03:39
Git Cheatsheet

Fix Previous Commits

$ git commit --fixup=8a465186
$ git rebase -i --autosquash 8a465186~1

Cherry Picking

@mlsaito
mlsaito / tunnel.md
Created August 14, 2018 00:20
SSH into ElastiCache - Redis

Create a tunnel on your local:

$ ssh -f -N -L6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis> -i "key.pem"

Connect to redis exposed on your local:

$ redis-cli -h 127.0.0.1 -p 6379
@mlsaito
mlsaito / kubectl-cheatsheet.md
Last active August 21, 2018 12:43
kubectl Cheat Sheet

Get a list of currently running Pod names:

$ kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

SSH directly into a pod:

$ kubectl exec --namespace  -it  -- bash
@mlsaito
mlsaito / ssl_version.md
Last active July 21, 2023 08:09
Specify SSL version (TLS 1.2) on HTTParty - a Ruby client library

Implementation

Some vendors require you to call their API via TLS 1.2 and I don't see that much documentation on how to do this.

2 ways to make an HTTP request using HTTParty:

  1. Directly calling Class method.
# Notice the `ssl_version` option, to specify ssl version of the HTTP request
response = HTTParty.get('http://api.stackexchange.com/2.2/questions?site=stackoverflow', ssl_version: :TLSv1_2)
@mlsaito
mlsaito / curl_sheetsheet.md
Last active June 18, 2018 07:55
cURL Cheatsheet

cURL with Basic Authorization:

$ cURL -X POST -H "Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l" https://localhost:3000

cURL with username and password (pretty much same with Basic Auth):

$ curl -X POST -H "Content-Type: application/json" \
 --user "usernameorclient_id:passwordorclient_secret" \
@mlsaito
mlsaito / find_and_kill.md
Created June 16, 2018 13:06
Find and kill processes listening on a port

Find processes listening on a port:

$ lsof -i :3000

Kill process:

$ kill -9 
@mlsaito
mlsaito / get_users_info.bash
Last active June 14, 2018 12:32
Execute Redis commands via Bash
#!/usr/bin/env bash
#! This will output info to `users_info.csv`
echo "Getting info from Redis. . ."
redis-cli ping
for i in {1..29885}; do
#! as of 2018, we can use this: EMAIL=$(command) instead
#! Reference: https://stackoverflow.com/questions/4651437/how-to-set-a-variable-to-the-output-of-a-command-in-bash
@mlsaito
mlsaito / docker-cheatsheet.md
Last active June 14, 2018 12:25
Docker Cheatsheet

Remove any stopped containers and all unused images (not just dangling images):

$ docker system prune -a

Stop all docker processes:

$ docker stop $(docker ps -a -q)