Skip to content

Instantly share code, notes, and snippets.

Avatar

Makoto Saito mlsaito

View GitHub Profile
View kubectl-multi-version-brews.md

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 Nov 5, 2018 — forked from Kartones/postgres-cheatsheet.md
PostgreSQL command line cheatsheet
View postgres-cheatsheet.md

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 Aug 21, 2018
Git Cheatsheet
View cheatsheet.md

Fix Previous Commits

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

Cherry Picking

@mlsaito
mlsaito / tunnel.md
Created Aug 14, 2018
SSH into ElastiCache - Redis
View tunnel.md

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 Aug 21, 2018
kubectl Cheat Sheet
View kubectl-cheatsheet.md

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 <namespace_name> -it <pod_name> -- bash
@mlsaito
mlsaito / ssl_version.md
Last active Jun 3, 2019
Specify SSL version (TLS 1.2) on HTTParty - a Ruby client library
View ssl_version.md

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 Jun 18, 2018
cURL Cheatsheet
View curl_sheetsheet.md

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 Jun 16, 2018
Find and kill processes listening on a port
View find_and_kill.md

Find processes listening on a port:

$ lsof -i :3000

Kill process:

$ kill -9 <PID>
@mlsaito
mlsaito / get_users_info.bash
Last active Jun 14, 2018
Execute Redis commands via Bash
View get_users_info.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 Jun 14, 2018
Docker Cheatsheet
View docker-cheatsheet.md

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)
You can’t perform that action at this time.