Skip to content

Instantly share code, notes, and snippets.

@so0k
so0k / datadog-support.md
Last active July 17, 2018 17:04
datadog setup

my Helmfile definition is

context: taurus-stage.kube.swatmobile.io

releases:
- name: datadog
  namespace: kube-system
  chart: stable/datadog
  version: 0.11.2
@so0k
so0k / alpine-curl.md
Created March 1, 2018 03:00
Alpine curl issues

To fix /usr/bin/curl: curl_mime_type: symbol not found Errors when trying to run curl in a running alpine pod.

Right solution: Update base alpine image because this is a bigger issue

Quick fix: run Alpine system upgrade (or upgrade libcurl package specifically):

apk update
apk upgrade
@so0k
so0k / postgres-cheatsheet.md
Last active February 5, 2019 21:06 — forked from Kartones/postgres-cheatsheet.md
PostgreSQL command line cheatsheet

PSQL

Magic words:

psql -U postgres

If run with -E flag, it will describe the underlaying queries of the \ commands (cool for learning!).

Most \d commands support additional param of __schema__.name__ and accept wildcards like *.*

@so0k
so0k / play_with_moby.md
Last active June 26, 2017 13:48
Docker Singapore - Play with Moby

Play with Moby - Docker Singapore - June 2017

  • Driven by yaml file which defines the assembly we want to create:

    1. kernel (to build bootable vm, stored under /boot) ~> see kernel files info should point to container image which has kernel file (i.e. bzImage) and tar with kernel modules
    2. init: list of images used for init system (unpacked into root filesystem). In case of LinuxKit system this should bring up containerd and system containers
@so0k
so0k / print_values.py
Created June 15, 2017 02:40
Print Helm's Values.yaml
import yaml
print_format="| {parameter:<40}| | {default:<50}|"
def walk_dict(d,keys=[],depth=0):
for k,v in sorted(d.items(),key=lambda x: x[0]):
keys.append(k)
if isinstance(v,dict):
walk_dict(v,keys,depth+1)
else:
print(print_format.format(parameter='`{0}`'.format(".".join(keys)),default='`{0}`'.format(v)))
@so0k
so0k / README.md
Created May 11, 2017 10:14
Wait until a port is up

Use netcat to wait until port 8080 is open

while ! nc -z localhost 8080; do sleep 0.1; done; echo test

in a separate session open port 8080 (using netcat):

nc -l 8080
@so0k
so0k / README.md
Last active August 7, 2023 06:16
Alpine-shell

Getting an Alpine shell

Often usefull for in-cluster debugging.

$ kubectl run --generator=run-pod/v1 --image=alpine:3.5 -it alpine-shell -- /bin/sh

detach (without killing the container):

@so0k
so0k / keybase.md
Created March 14, 2017 10:28
keybase

Keybase proof

I hereby claim:

  • I am so0k on github.
  • I am so0k (https://keybase.io/so0k) on keybase.
  • I have a public key ASDaffdVrhOLCfx0kMlQsvx-HA8ygWIhW3IpSrvYEFVP6Qo

To claim this, I am signing this object:

@so0k
so0k / README.md
Last active November 10, 2020 12:42
AWS CLI ElasticBeanstalk ec2 Queries

AWS CLI snippets

The AWS Command Line Interface is a very powerfull ally to anyone managing AWS Infrastructure.

While automating infrastructure with Terraform, some configuration can be quickly retrieved using AWS CLI.

Alternatively, some information is hard to piece together from the AWS console, in which case terminal scripts can provide fast and simple windows into your cloud.

AWS Documentation

$ minikube version
minikube version: v0.14.0
$ minikube start
Starting local Kubernetes cluster...
E0108 18:19:32.625802   27742 start.go:94] Error starting host: Temporary Error: Error configuring auth on host: Too many retries waiting for SSH to be available.  Last error: Maximum number of retries (60) exceeded.