softplayer-controller/hooks/down.sh

40 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
if [[ $1 == "--config" ]] ; then
cat <<EOF
configVersion: v1
kubernetes:
- name: Watch bootstrap configmaps getting removed
apiVersion: v1
kind: ConfigMap
executeHookOnSynchronization: false
executeHookOnEvent: ["Modified"]
jqFilter: ".metadata.deletionTimestamp"
labelSelector:
matchExpressions:
- key: "component"
operator: "In"
values: ["bootstrap"]
EOF
else
PROVIDER=$(jq -r .[0].objects.[0].object.data.provider $BINDING_CONTEXT_PATH)
KUBERNETES=$(jq -r .[0].objects.[0].object.data.kubernetes $BINDING_CONTEXT_PATH)
echo "running the ${PROVIDER}-cleanup hook"
if ! [ -f /tpls/${PROVIDER}-cleanup.yaml ]; then
echo "template not found for ${PROVIDER}-cleanup"
exit 1
fi
export SP_CUSTOMER_ID=$(jq -r .[0].objects.[0].object.metadata.namespace $BINDING_CONTEXT_PATH)
export SP_ENVIRONMENT=$(jq -r .[0].objects.[0].object.metadata.name $BINDING_CONTEXT_PATH)
echo "removing the ${SP_ENVIRONMENT} owned by ${SP_CUSTOMER_ID}"
envsubst < /tpls/${PROVIDER}-cleanup.yaml | kubectl create -f -
# -- Removing the finalizer
kubectl patch configmap -n ${SP_CUSTOMER_ID} ${SP_ENVIRONMENT} \
-p '{"metadata":{"finalizers":null}}' --type=merge
fi