blob: effb614c6800d691637d173a592c933f9507cf35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
#
# Kubernetes (kubectl)
#
# Kubernetes is an open-source system for deployment, scaling,
# and management of containerized applications.
# Link: https://kubernetes.io/
function __sf_section_kubecontext -d "Display the kubernetes context"
# ------------------------------------------------------------------------------
# Configuration
# ------------------------------------------------------------------------------
__sf_util_set_default SPACEFISH_KUBECONTEXT_SHOW true
__sf_util_set_default SPACEFISH_KUBECONTEXT_NAMESPACE_SHOW true
__sf_util_set_default SPACEFISH_KUBECONTEXT_PREFIX "at "
__sf_util_set_default SPACEFISH_KUBECONTEXT_SUFFIX $SPACEFISH_PROMPT_DEFAULT_SUFFIX
# Additional space is added because ☸️ is wider than other symbols
# See: https://github.com/denysdovhan/spaceship-prompt/pull/432
__sf_util_set_default SPACEFISH_KUBECONTEXT_SYMBOL "☸️ "
__sf_util_set_default SPACEFISH_KUBECONTEXT_COLOR cyan
# ------------------------------------------------------------------------------
# Section
# ------------------------------------------------------------------------------
# Show current kubecontext
[ $SPACEFISH_KUBECONTEXT_SHOW = false ]; and return
# Ensure the kubectl command is available
type -q kubectl; or return
set -l kube_context (kubectl config current-context 2>/dev/null)
[ -z $kube_context ]; and return
if test "$SPACEFISH_KUBECONTEXT_NAMESPACE_SHOW" = "true" -a "$kube_context" != "default"
set kube_namespace (kubectl config view --minify --output 'jsonpath={..namespace}' 2>/dev/null)
set kube_context "$kube_context ($kube_namespace)"
end
__sf_lib_section \
$SPACEFISH_KUBECONTEXT_COLOR \
$SPACEFISH_KUBECONTEXT_PREFIX \
"$SPACEFISH_KUBECONTEXT_SYMBOL""$kube_context" \
$SPACEFISH_KUBECONTEXT_SUFFIX
end
|