#!/bin/bash

set -eu

linkerd_namespace=${1:-l5d-integration}

if [ -z "$linkerd_namespace" ]; then
    echo "usage: $(basename "$0") <namespace>" >&2
    exit 64
fi

echo "cleaning up namespace [${linkerd_namespace}] and associated test namespaces"

if ! namespaces=$(kubectl get ns -oname | grep -E "/$linkerd_namespace(-|$)"); then
  echo "no namespaces found for [$linkerd_namespace]" >&2
fi

if ! clusterrolebindings=$(kubectl get clusterrolebindings -oname | grep -E "/linkerd-$linkerd_namespace(-|$)"); then
  echo "no clusterrolebindings found for [$linkerd_namespace]" >&2
fi

if ! clusterroles=$(kubectl get clusterroles -oname | grep -E "/linkerd-$linkerd_namespace(-|$)"); then
  echo "no clusterroles found for [$linkerd_namespace]" >&2
fi

if [[ $namespaces || $clusterrolebindings || $clusterroles ]]; then
  kubectl delete --wait=false $namespaces $clusterrolebindings $clusterroles
fi
