Skip to content

Instantly share code, notes, and snippets.

func convertToUTF8(str string, origEncoding string) string {
strBytes := []byte(str)
byteReader := bytes.NewReader(strBytes)
reader, _ := charset.NewReaderLabel(origEncoding, byteReader)
strBytes, _ = ioutil.ReadAll(reader)
return string(strBytes)
}
@n0madic
n0madic / k8s-master-backup-create.sh
Created September 12, 2019 06:57
Kubermetes master backup/restore
#!/bin/bash
set -euo pipefail
docker exec -e ETCDCTL_API=3 $(docker ps -q --filter name=k8s_etcd) \
etcdctl --cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/peer.crt \
--key=/etc/kubernetes/pki/etcd/peer.key \
snapshot save /var/lib/etcd/snapshotdb
@n0madic
n0madic / checkZeroValue.go
Created July 25, 2019 14:42
Сheck zero value with default
func checkZeroValue(checkVal interface{}, defaultVal interface{}) interface{} {
if checkVal == nil || reflect.DeepEqual(checkVal, reflect.Zero(reflect.TypeOf(checkVal)).Interface()) {
return defaultVal
}
return checkVal
}
@n0madic
n0madic / pod-reader-role.yml
Created May 3, 2019 07:02
Create a role, `pod-reader`, that can list/exec pods and view their logs
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
namespace: kube-public
name: pod-reader
rules:
- apiGroups: ["extensions", "apps", ""]
resources: ["pods", "pods/log"]
verbs: ["get", "list", "watch"]
@n0madic
n0madic / k8s-backup.sh
Created October 26, 2018 14:34
Script that makes backup copies of all kubernetes cluster manifests
#!/bin/bash
GLOBALRESOURCES="${GLOBALRESOURCES:-"storageclass clusterrole clusterrolebinding customresourcedefinition"}"
RESOURCETYPES="${RESOURCETYPES:-"deployment daemonset configmap secrets service ingress networkpolicy statefulset cronjob pvc"}"
CONTEXT="${KUBE_CONTEXT:-$(kubectl config current-context)}"
[ -d "${CONTEXT}" ] || mkdir -p "${CONTEXT}"
kube_export() {
local NS=$1