Restructuring and some bugfixing
This commit is contained in:
parent
1fe4639acd
commit
f52e7625c3
1 changed files with 18 additions and 13 deletions
31
ktx
Normal file → Executable file
31
ktx
Normal file → Executable file
|
@ -2,6 +2,16 @@
|
||||||
|
|
||||||
CUR_FILE="$HOME/.kube/current"
|
CUR_FILE="$HOME/.kube/current"
|
||||||
|
|
||||||
|
_create_file_and_switch() {
|
||||||
|
CONTEXT=${1}
|
||||||
|
NAMESPACE=${2}
|
||||||
|
FILENAME="$HOME/.kube/ktx/${CONTEXT}_${NAMESPACE}.conf"
|
||||||
|
kubectl config view --minify --flatten --context ${CONTEXT} > ${FILENAME}
|
||||||
|
export KUBECONFIG=${FILENAME}
|
||||||
|
kubectl config set-context --current --namespace=${NAMESPACE}
|
||||||
|
ln -sf ${FILENAME} ${CUR_FILE}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Switch context
|
# Switch context
|
||||||
# Usage: ktx [cluster] [namespace]
|
# Usage: ktx [cluster] [namespace]
|
||||||
|
@ -11,24 +21,18 @@ ktx() {
|
||||||
NAMESPACE=${2:-}
|
NAMESPACE=${2:-}
|
||||||
|
|
||||||
if [ -z $CONTEXT ]; then
|
if [ -z $CONTEXT ]; then
|
||||||
SELECTION=$(kubectl config get-contexts | awk '{print $2"|"$4}' | tail +2 | sort -r | fzf)
|
# unset KUBECONFIG= variable here to always start with the global config
|
||||||
|
SELECTION=$(KUBECONFIG= kubectl config view -o json | jq -r '.contexts[] | "\(.name)|\(.context.namespace // "default")"' | sort -r | fzf)
|
||||||
CONTEXT=$(echo $SELECTION | cut -d"|" -f1)
|
CONTEXT=$(echo $SELECTION | cut -d"|" -f1)
|
||||||
DEFAULT_NS=$(echo $SELECTION | cut -d"|" -f2)
|
DEFAULT_NS=$(echo $SELECTION | cut -d"|" -f2)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Take default namespace if user didn't supplied a specific one
|
||||||
if [ -z $NAMESPACE ]; then
|
if [ -z $NAMESPACE ]; then
|
||||||
NAMESPACE=${DEFAULT_NS}
|
NAMESPACE=${DEFAULT_NS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FILENAME="$HOME/.kube/frickel/${CONTEXT}_${NAMESPACE}.conf"
|
_create_file_and_switch ${CONTEXT} ${NAMESPACE}
|
||||||
|
|
||||||
kubectl config view --minify --flatten --context $CONTEXT > ${FILENAME}
|
|
||||||
|
|
||||||
export KUBECONFIG=${FILENAME}
|
|
||||||
|
|
||||||
kubectl config set-context --current --namespace=$NAMESPACE
|
|
||||||
|
|
||||||
ln -sf ${FILENAME} ${CUR_FILE}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Switch namespace
|
# Switch namespace
|
||||||
|
@ -37,10 +41,11 @@ kn() {
|
||||||
NAMESPACE=${1:-}
|
NAMESPACE=${1:-}
|
||||||
|
|
||||||
if [ -z $NAMESPACE ]; then
|
if [ -z $NAMESPACE ]; then
|
||||||
NAMESPACE=$(kubectl get namespace | awk '{ print $1 }' | tail +2 | sort -r | fzf)
|
NAMESPACE=$(kubectl get namespace --no-headers | awk '{print $1}' | sort -r | fzf)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kubectl config set-context --current --namespace=$NAMESPACE
|
CONTEXT=$(kubectl config get-contexts | grep "*" | awk '{print $2}')
|
||||||
|
_create_file_and_switch ${CONTEXT} ${NAMESPACE}
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -f ${CUR_FILE} ]; then
|
if [ -f ${CUR_FILE} ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue