1
0
Fork 0

k9s: hotkeys, custom columns for flux

This commit is contained in:
Vladimír Dudr 2025-02-21 12:27:03 +01:00
parent 049c4e8304
commit 023fb277f8
5 changed files with 98 additions and 32 deletions

View file

@ -0,0 +1,21 @@
hotKeys:
pods:
shortCut: Shift-1
description: Show pods
command: pods
gitrepos:
shortCut: Shift-2
description: Show gitrepos
command: gitrepo
kustomizations:
shortCut: Shift-3
description: Show kustomizations
command: ks
helmrels:
shortCut: Shift-4
description: Show helm releases
command: hr

View file

@ -17,6 +17,7 @@ plugins:
- >
kubectl annotate
--overwrite
--kubeconfig "$KUBECONFIG"
--context "$CONTEXT"
--namespace "$NAMESPACE"
${RESOURCE_NAME}.${RESOURCE_GROUP}
@ -32,23 +33,24 @@ plugins:
args:
- -c
- |
set -eo pipefail
trap "echo Something failed" ERR
ku() {
local verb="$1"
shift
kubectl --context dkube --namespace flux-system $verb ${RESOURCE_NAME}.${RESOURCE_GROUP} $NAME "$@"
kubectl --kubeconfig "$KUBECONFIG" --context "$CONTEXT" --namespace "$NAMESPACE" $verb ${RESOURCE_NAME}.${RESOURCE_GROUP} $NAME "$@"
}
S="$(ku get -o jsonpath='{.spec.suspend }')";
if [[ "$S" == true ]] ; then
ku patch --type=json -p '[{ "op": "remove", "path": "/spec/suspend"}]';
echo "$RESOURCE_NAME resumed"
echo "$RESOURCE_NAME resumed"
else
ku patch --type=json -p '[{ "op": "replace", "path": "/spec/suspend", "value": true}]';
echo "$RESOURCE_NAME suspended"
echo "$RESOURCE_NAME suspended"
fi
trace:
shortCut: Ctrl-T
confirm: false
@ -60,34 +62,8 @@ plugins:
args:
- -c
- >
resource=$(echo $RESOURCE_NAME | sed -E 's/ies$/y/' | sed -E 's/ses$/se/' | sed -E 's/(s|es)$//g') ; flux trace --context $CONTEXT --kind $resource --api-version
resource=$(echo $RESOURCE_NAME | sed -E 's/ies$/y/' | sed -E 's/ses$/se/' | sed -E 's/(s|es)$//g') ; flux trace --kubeconfig "$KUBECONFIG" --context $CONTEXT --kind $resource --api-version
$RESOURCE_GROUP/$RESOURCE_VERSION --namespace $NAMESPACE $NAME | less -K
get-suspended-helmreleases:
shortCut: Shift-S
confirm: false
description: Suspended Helm Releases
scopes:
- helmrelease
command: sh
background: false
args:
- -c
- kubectl get --context $CONTEXT --all-namespaces helmreleases.helm.toolkit.fluxcd.io
-o json | jq -r '.items[] | select(.spec.suspend==true) | [.metadata.namespace,.metadata.name,.spec.suspend]
| @tsv' | less -K
get-suspended-kustomizations:
shortCut: Shift-S
confirm: false
description: Suspended Kustomizations
scopes:
- kustomizations
command: sh
background: false
args:
- -c
- kubectl get --context $CONTEXT --all-namespaces kustomizations.kustomize.toolkit.fluxcd.io
-o json | jq -r '.items[] | select(.spec.suspend==true) | [.metadata.name,.spec.suspend]
| @tsv' | less -K
stern:
shortCut: Ctrl-L
confirm: false
@ -97,6 +73,8 @@ plugins:
command: stern
background: false
args:
- --kubeconfig
- $KUBECONFIG
- --tail
- 50
- $FILTER
@ -115,5 +93,5 @@ plugins:
args:
- node-shell
- --context
- $CONTEXT
- $CONTEXT
- $NAME

View file

@ -0,0 +1,10 @@
aliases:
dp: deployments
sec: v1/secrets
jo: jobs
cr: clusterroles
crb: clusterrolebindings
ro: roles
rb: rolebindings
np: networkpolicies
gr: gitrepositories

View file

@ -0,0 +1,41 @@
k9s:
liveViewAutoRefresh: false
screenDumpDir: /home/vladimir/.local/state/k9s/screen-dumps
refreshRate: 2
maxConnRetry: 5
readOnly: false
noExitOnCtrlC: false
ui:
enableMouse: false
headless: false
logoless: true
crumbsless: false
reactive: true
noIcons: false
defaultsToFullScreen: false
skipLatestRevCheck: false
disablePodCounting: false
shellPod:
image: busybox:1.35.0
namespace: default
limits:
cpu: 100m
memory: 100Mi
imageScans:
enable: false
exclusions:
namespaces: []
labels: {}
logger:
tail: 100
buffer: 5000
sinceSeconds: -1
textWrap: false
showTime: false
thresholds:
cpu:
critical: 90
warn: 70
memory:
critical: 90
warn: 70

16
dot_config/k9s/views.yaml Normal file
View file

@ -0,0 +1,16 @@
views:
kustomize.toolkit.fluxcd.io/v1/kustomizations:
columns:
- NAMESPACE
- NAME
- SUSPENDED:.spec.suspend
helm.toolkit.fluxcd.io/v2/helmreleases:
columns:
- NAMESPACE
- NAME
- SUSPENDED:.spec.suspend
source.toolkit.fluxcd.io/v1/gitrepositories:
columns:
- NAMESPACE
- NAME
- SUSPENDED:.spec.suspend