Skip to content

Commit 1deebd6

Browse files
author
Ian Laird
committed
Added tail/find job
1 parent 1402ff4 commit 1deebd6

File tree

3 files changed

+82
-0
lines changed

3 files changed

+82
-0
lines changed

findjob

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
[[ -z "${KUBE_FZF_PATH}" ]] && source kube-fzf.sh || source $KUBE_FZF_PATH
7+
8+
findjob() {
9+
local namespace_query job_query result namespace job_name
10+
11+
_kube_fzf_handler "findjob" "$@"
12+
namespace_query=$(echo $args | awk -F '|' '{ print $1 }')
13+
job_query=$(echo $args | awk -F '|' '{ print $2 }')
14+
15+
result=$(_kube_fzf_search_job "$namespace_query" "$job_query")
16+
IFS=$'|' read -r namespace job_name <<< "$result"
17+
18+
_kube_fzf_echo "kubectl get job --namespace='$namespace' --output=wide $job_name"
19+
kubectl get job --namespace=$namespace --output=wide $job_name
20+
}
21+
22+
findjob "$@"

kube-fzf.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,42 @@ _kube_fzf_search_deploy() {
210210
echo "$namespace|$deploy_name"
211211
}
212212

213+
_kube_fzf_search_job() {
214+
local namespace job_name
215+
local namespace_query=$1
216+
local job_query=$2
217+
local job_fzf_args=$(_kube_fzf_fzf_args "$job_query")
218+
219+
if [ -z "$namespace_query" ]; then
220+
context=$(kubectl config current-context)
221+
namespace=$(kubectl config get-contexts --no-headers $context \
222+
| awk '{ print $5 }')
223+
224+
namespace=${namespace:=default}
225+
job_name=$(kubectl get job --namespace=$namespace --no-headers \
226+
| fzf $(echo $job_fzf_args) \
227+
| awk '{ print $1 }')
228+
elif [ "$namespace_query" = "--all-namespaces" ]; then
229+
read namespace job_name <<< $(kubectl get job --all-namespaces --no-headers \
230+
| fzf $(echo $job_fzf_args) \
231+
| awk '{ print $1, $2 }')
232+
else
233+
local namespace_fzf_args=$(_kube_fzf_fzf_args "$namespace_query" "--select-1")
234+
namespace=$(kubectl get namespaces --no-headers \
235+
| fzf $(echo $namespace_fzf_args) \
236+
| awk '{ print $1 }')
237+
238+
namespace=${namespace:=default}
239+
job_name=$(kubectl get job --namespace=$namespace --no-headers \
240+
| fzf $(echo $job_fzf_args) \
241+
| awk '{ print $1 }')
242+
fi
243+
244+
[ -z "$job_name" ] && return 1
245+
246+
echo "$namespace|$job_name"
247+
}
248+
213249
_kube_fzf_echo() {
214250
local reset_color="\033[0m"
215251
local bold_green="\033[1;32m"

tailjob

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
[[ -z "${KUBE_FZF_PATH}" ]] && source kube-fzf.sh || source $KUBE_FZF_PATH
7+
8+
tailjob() {
9+
local namespace_query job_query result namespace job_name
10+
11+
_kube_fzf_handler "tailjob" "$@"
12+
namespace_query=$(echo $args | awk -F '|' '{ print $1 }')
13+
job_query=$(echo $args | awk -F '|' '{ print $2 }')
14+
15+
result=$(_kube_fzf_search_job "$namespace_query" "$job_query")
16+
IFS=$'|' read -r namespace job_name <<< "$result"
17+
18+
local fzf_args=$(_kube_fzf_fzf_args "" "--select-1")
19+
20+
_kube_fzf_echo "kubectl logs --namespace='$namespace' --follow $job_name"
21+
kubectl logs --namespace=$namespace --follow job/$job_name
22+
}
23+
24+
tailjob "$@"

0 commit comments

Comments
 (0)