38 lines
1.1 KiB
Bash
Executable File
38 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
SCDIR=$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")
|
|
SCDIR=$(realpath $SCDIR)
|
|
|
|
(return 0 2>/dev/null) && sourced=1 || sourced=0
|
|
NAMES_JSON=$(kubectl get namespaces --output=json | jq '.items | map({name:.metadata.name}) | map(select(.name | startswith("kube") | not)) | map(select(.name != "default"))')
|
|
NAMES=$(echo "$NAMES_JSON" | jq '.[] | .name' | sed 's/\"//g')
|
|
CARVEL=$(echo "$NAMES_JSON" | jq 'map(select(.name == "kapp-controller")) | .[] | .name')
|
|
if [ "$CARVEL" != "" ]; then
|
|
CARVEL=--carvel
|
|
fi
|
|
while [ "$1" != "" ]; do
|
|
case $1 in
|
|
"--nowait")
|
|
WAIT="--nowait"
|
|
;;
|
|
"--wait")
|
|
WAIT="--wait"
|
|
;;
|
|
*)
|
|
FILTER="$1"
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
while [ "$1" != "" ]; do
|
|
NAMES=$(echo "$NAMES_JSON" | jq --arg value "$1" 'map(select(.name | contains($value)) | .[] | .name' | sed 's/\"//g')
|
|
for name in $NAMES; do
|
|
$SCDIR/delete-k8s-ns.sh $CARVEL $name $WAIT
|
|
done
|
|
done
|
|
if [ "$FILTER" == "" ]; then
|
|
for name in $NAMES; do
|
|
$SCDIR/delete-k8s-ns.sh $CARVEL $name $WAIT
|
|
done
|
|
$SCDIR/delete-k8s-ns.sh $CARVEL default $WAIT
|
|
fi
|