You've already forked personal-linux-config
feat(kubernetes): Guard kubectl initialization and completions
Ensures kubectl-related aliases and functions are only sourced if the `kubectl` command is available.
This commit is contained in:
@@ -1,25 +1,27 @@
|
|||||||
source <(kubectl completion bash)
|
if command -v kubectl >/dev/null 2>&1; then
|
||||||
alias k="kubectl"
|
source <(kubectl completion bash)
|
||||||
alias kcontext="kubectl config use-context"
|
alias k="kubectl"
|
||||||
kns() {
|
alias kcontext="kubectl config use-context"
|
||||||
if [[ $# -eq 0 ]]; then
|
kns() {
|
||||||
printf '%s\n' "$(kubectl config view --minify -o jsonpath='{.contexts[0].context.namespace}')"
|
if [[ $# -eq 0 ]]; then
|
||||||
else
|
printf '%s\n' "$(kubectl config view --minify -o jsonpath='{.contexts[0].context.namespace}')"
|
||||||
local ns="${1?Namespace required}"
|
else
|
||||||
kubectl config set-context --current --namespace "$ns"
|
local ns="${1?Namespace required}"
|
||||||
printf 'Switched current context to namespace: %s\n' "$ns"
|
kubectl config set-context --current --namespace "$ns"
|
||||||
fi
|
printf 'Switched current context to namespace: %s\n' "$ns"
|
||||||
}
|
fi
|
||||||
_kns_completion() {
|
}
|
||||||
local cur
|
_kns_completion() {
|
||||||
cur=${COMP_WORDS[COMP_CWORD]}
|
local cur
|
||||||
COMPREPLY=( $(compgen -W "$(kubectl get namespaces -o name | sed 's|namespace/||')" -- "$cur") )
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
}
|
COMPREPLY=( $(compgen -W "$(kubectl get namespaces -o name | sed 's|namespace/||')" -- "$cur") )
|
||||||
_kcontext_completion() {
|
}
|
||||||
local cur
|
_kcontext_completion() {
|
||||||
cur=${COMP_WORDS[COMP_CWORD]}
|
local cur
|
||||||
COMPREPLY=( $(compgen -W "$(kubectl config get-contexts -o name)" -- $cur) )
|
cur=${COMP_WORDS[COMP_CWORD]}
|
||||||
}
|
COMPREPLY=( $(compgen -W "$(kubectl config get-contexts -o name)" -- $cur) )
|
||||||
complete -F __start_kubectl k
|
}
|
||||||
complete -F _kns_completion kns
|
complete -F __start_kubectl k
|
||||||
complete -F _kcontext_completion kcontext
|
complete -F _kns_completion kns
|
||||||
|
complete -F _kcontext_completion kcontext
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user