Skip to content

Commit

Permalink
feat(helm): add helm purge plugin
Browse files Browse the repository at this point in the history
Add plugin yaml and kubectl plugin

618
  • Loading branch information
Flare576 committed Mar 12, 2020
1 parent f691249 commit cc19f6d
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 0 deletions.
14 changes: 14 additions & 0 deletions plugins/helm-purge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# $HOME/.k9s/plugin.yml
plugin:
# Issues a helm delete --purge for the resource associated with the selected pod
helm-purge:
shortCut: Ctrl-P
description: Helm Purge
scopes:
- po
command: kubectl
background: true
args:
- purge
- $NAMESPACE
- $NAME
29 changes: 29 additions & 0 deletions plugins/kubectl/kubectl-purge
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash
usage="kubectl $(basename "$0") [-h] NAMESPACE NAME
kubectl plugin, requires TILLER_NS set before call. Will run helm delete --purge on release associated with pod.
Release is acquired from the pod's 'describe' information in the 'tags' section.
Examples:
kubectl purge my-namespace my-namespace-pod1-123: Purge the release associated with 'my-namespace-pod1-123' pod"
while getopts ':h' option; do
case "$option" in
h) echo "$usage"
exit
;;
esac
done
shift $((OPTIND -1))

namespace=$1
name=$2
if [ -z "$TILLER_NS" ]; then
echo "Set TILLER_NS environment variable before calling this function"
exit 1;
elif [ -z "$namespace" ]; then
echo "No Namespace provided"
exit 1;
elif [ -z "$name" ]; then
echo "No Name provided"
exit 1;
fi

kubectl describe pods -n $namespace $name | grep release | cut -f 2 -d'=' | xargs -J rel helm --tiller-namespace $TILLER_NS delete --purge rel

0 comments on commit cc19f6d

Please sign in to comment.