git stash list
- Lists all stashes on stack.
git stash apply stash@{0}
- Applies the changes from stash but does not delete from stack.
git stash pop stash@{3}
- Applies the changes from stash and deletes from the stack.
git stash show stash@{2}
git stash list
git stash apply stash@{0}
git stash pop stash@{3}
git stash show stash@{2}
Press minus + shift + s
and return
to chop/fold long lines!
Picking the right architecture = Picking the right battles + Managing trade-offs
The official guide for setting up Kubernetes using kubeadm
works well for clusters of one architecture. But, the main problem that crops up is the kube-proxy
image defaults to the architecture of the master node (where kubeadm
was run in the first place).
This causes issues when arm
nodes join the cluster, as they will try to execute the amd64
version of kube-proxy
, and will fail.
It turns out that the pod running kube-proxy
is configured using a DaemonSet. With a small edit to the configuration, it's possible to create multiple DaemonSets—one for each architecture.
Follow the instructions at https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ for setting up the master node. I've been using Weave Net as the network plugin; it see
The official guide for setting up Kubernetes using kubeadm
works well for clusters of one architecture. But, the main problem that crops up is the kube-proxy
image defaults to the architecture of the master node (where kubeadm
was run in the first place).
This causes issues when arm
nodes join the cluster, as they will try to execute the amd64
version of kube-proxy
, and will fail.
It turns out that the pod running kube-proxy
is configured using a DaemonSet. With a small edit to the configuration, it's possible to create multiple DaemonSets—one for each architecture.
Follow the instructions at https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ for setting up the master node. I've been using Weave Net as the network plugin; it see
I hereby claim:
To claim this, I am signing this object:
onServerStartup () { | |
const { serverId, ip } = getServerInfo() // serverId does not change across restarts | |
this.serverId = serverId | |
// We don't have any routers or producers (yet). Clear any value that exists in the DB related to our serverId | |
clearSharedDB(serverId, 'routers') | |
clearSharedDB(serverId, 'producers') | |
// Update the DB with our serverId and ip so that others will know how to reach us | |
registerServerInDB(serverId, ip) | |
/** | |
* Will generate versionCode from versionName that follows Semantic Versioning | |
*/ | |
ext { | |
/** | |
* Application version is located version variable. | |
* And should follow next policy: | |
* X1.X2.X3-type-flavor, where X - any digits and type is optional alphabetical suffix. | |
* X1 - major version | |
* X2 - minor version |