43 lines
1.8 KiB
Bash
43 lines
1.8 KiB
Bash
|
#
|
||
|
# Kubernetes (kubectl) version
|
||
|
#
|
||
|
# Kubernetes is an open-source system for deployment, scaling,
|
||
|
# and management of containerized applications.
|
||
|
# Link: https://kubernetes.io/
|
||
|
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# Configuration
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
SPACESHIP_KUBECTL_VERSION_SHOW="${SPACESHIP_KUBECTL_VERSION_SHOW=true}"
|
||
|
SPACESHIP_KUBECTL_VERSION_ASYNC="${SPACESHIP_KUBECTL_VERSION_ASYNC=true}"
|
||
|
SPACESHIP_KUBECTL_VERSION_PREFIX="${SPACESHIP_KUBECTL_VERSION_PREFIX=""}"
|
||
|
SPACESHIP_KUBECTL_VERSION_SUFFIX="${SPACESHIP_KUBECTL_VERSION_SUFFIX="$SPACESHIP_PROMPT_DEFAULT_SUFFIX"}"
|
||
|
SPACESHIP_KUBECTL_VERSION_COLOR="${SPACESHIP_KUBECTL_VERSION_COLOR="cyan"}"
|
||
|
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# Section
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
# Show current kubectl version
|
||
|
spaceship_kubectl_version() {
|
||
|
[[ $SPACESHIP_KUBECTL_VERSION_SHOW == false ]] && return
|
||
|
|
||
|
spaceship::exists kubectl || return
|
||
|
|
||
|
# kubectl can hang for upwards of 10 seconds if a context isn't loaded, this avoids the unnecessary server version
|
||
|
# check if a context isn't loaded, avoiding the issue entirely.
|
||
|
local kube_context=$(kubectl config current-context 2>/dev/null)
|
||
|
[[ -z $kube_context ]] && return
|
||
|
|
||
|
# if kubectl can't connect kubernetes cluster, kubernetes version section will be not shown
|
||
|
local kubectl_version=$(kubectl version --short 2>/dev/null | grep "Server Version" | sed 's/Server Version: \(.*\)/\1/')
|
||
|
[[ -z $kubectl_version ]] && return
|
||
|
|
||
|
spaceship::section \
|
||
|
--color "$SPACESHIP_KUBECTL_VERSION_COLOR" \
|
||
|
--prefix "$SPACESHIP_KUBECTL_VERSION_PREFIX" \
|
||
|
--suffix "$SPACESHIP_KUBECTL_VERSION_SUFFIX" \
|
||
|
"$kubectl_version"
|
||
|
}
|