# Kustomize based deletion workflow. Requires jq, kubectl. # # Expected variables: # - namespace Namespace for the release. # - # - release A unique name to give to this collection of manifests. # - delete Resource delete whitelist. # # Example inputs: # namespace=pr123 # release=app-pr123 # delete='["deployment", "service", "ingress", "namespace"]' set -e echo "removing $release with resources $delete" resources=$(echo $delete | jq -r 'join(",")') kubectl --namespace $namespace delete $resources --selector deliverybot.io/release=$release remove_namespace=$(echo $delete | jq 'contains(["namespace"])') if [ "$remove_namespace" = "true" ]; then kubectl delete ns/$namespace || exit 0 fi