Merge pull request #152 from JannoTjarks/kubernetes-context
Added kubernetes-context plugin
This commit is contained in:
commit
aa14996327
3 changed files with 58 additions and 0 deletions
|
@ -29,6 +29,7 @@ Configuration and options can be found at [draculatheme.com/tmux](https://dracul
|
||||||
- When prefix is enabled smiley face turns from green to yellow
|
- When prefix is enabled smiley face turns from green to yellow
|
||||||
- When charging, 'AC' is displayed
|
- When charging, 'AC' is displayed
|
||||||
- If forecast information is available, a ☀, ☁, ☂, or ❄ unicode character corresponding with the forecast is displayed alongside the temperature
|
- If forecast information is available, a ☀, ☁, ☂, or ❄ unicode character corresponding with the forecast is displayed alongside the temperature
|
||||||
|
- Current kubernetes context
|
||||||
|
|
||||||
## Compatibility
|
## Compatibility
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ main()
|
||||||
show_border_contrast=$(get_tmux_option "@dracula-border-contrast" false)
|
show_border_contrast=$(get_tmux_option "@dracula-border-contrast" false)
|
||||||
show_day_month=$(get_tmux_option "@dracula-day-month" false)
|
show_day_month=$(get_tmux_option "@dracula-day-month" false)
|
||||||
show_refresh=$(get_tmux_option "@dracula-refresh-rate" 5)
|
show_refresh=$(get_tmux_option "@dracula-refresh-rate" 5)
|
||||||
|
show_kubernetes_context_label=$(get_tmux_option "@dracula-kubernetes-context-label" "")
|
||||||
IFS=' ' read -r -a plugins <<< $(get_tmux_option "@dracula-plugins" "battery network weather")
|
IFS=' ' read -r -a plugins <<< $(get_tmux_option "@dracula-plugins" "battery network weather")
|
||||||
|
|
||||||
# Dracula Color Pallette
|
# Dracula Color Pallette
|
||||||
|
@ -168,6 +169,11 @@ main()
|
||||||
script="#($current_dir/network_ping.sh)"
|
script="#($current_dir/network_ping.sh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $plugin = "kubernetes-context" ]; then
|
||||||
|
IFS=' ' read -r -a colors <<<$(get_tmux_option "@dracula-kubernetes-context-colors" "cyan dark_gray")
|
||||||
|
script="#($current_dir/kubernetes_context.sh $show_kubernetes_context_label)"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $plugin = "weather" ]; then
|
if [ $plugin = "weather" ]; then
|
||||||
# wait unit $datafile exists just to avoid errors
|
# wait unit $datafile exists just to avoid errors
|
||||||
# this should almost never need to wait unless something unexpected occurs
|
# this should almost never need to wait unless something unexpected occurs
|
||||||
|
|
51
scripts/kubernetes_context.sh
Executable file
51
scripts/kubernetes_context.sh
Executable file
|
@ -0,0 +1,51 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# setting the locale, some users have issues with different locales, this forces the correct one
|
||||||
|
export LC_ALL=en_US.UTF-8
|
||||||
|
|
||||||
|
label=$1
|
||||||
|
|
||||||
|
current_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
source $current_dir/utils.sh
|
||||||
|
|
||||||
|
current_context=$(kubectl config view --minify --output 'jsonpath={.current-context}'; echo)
|
||||||
|
current_user=$(kubectl config view --minify --output 'jsonpath={.contexts[?(@.name=="'$current_context'")].context.user}'; echo)
|
||||||
|
current_cluster=$(kubectl config view --minify --output 'jsonpath={.contexts[?(@.name=="'$current_context'")].context.cluster}'; echo)
|
||||||
|
current_namespace=$(kubectl config view --minify --output 'jsonpath={.contexts[?(@.name=="'$current_context'")].context.namespace}'; echo)
|
||||||
|
|
||||||
|
main()
|
||||||
|
{
|
||||||
|
# storing the refresh rate in the variable RATE, default is 5
|
||||||
|
RATE=$(get_tmux_option "@dracula-refresh-rate" 5)
|
||||||
|
OUTPUT_STRING=""
|
||||||
|
if [ ! -z "$current_user" ]
|
||||||
|
then
|
||||||
|
OUTPUT_STRING="${current_user}@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$current_cluster" ]
|
||||||
|
then
|
||||||
|
OUTPUT_STRING="${OUTPUT_STRING}${current_cluster}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -z "$current_namespace" ]
|
||||||
|
then
|
||||||
|
OUTPUT_STRING="${OUTPUT_STRING}:${current_namespace}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$OUTPUT_STRING" = "" ]
|
||||||
|
then
|
||||||
|
OUTPUT_STRING="kubeconfig not valid"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$label" = "" ]
|
||||||
|
then
|
||||||
|
echo "${OUTPUT_STRING}"
|
||||||
|
else
|
||||||
|
echo "${label} ${OUTPUT_STRING}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep $RATE
|
||||||
|
}
|
||||||
|
|
||||||
|
# run the main driver
|
||||||
|
main
|
Loading…
Reference in a new issue