#!/usr/bin/env bash
# cleanup.sh — DR connectionPool 재현 랩 철거(멱등).
#
# 시나리오 DR/SE 를 먼저 지우고(라우팅 회수), namespace 를 통째로 삭제한다.
# --ignore-not-found 라 이미 없어도 안전하게 재실행 가능.
#
# 주의: conn-lab 은 이 랩 전용 namespace. 다른 워크로드가 공유하지 않는다는 전제.
# usage: bash cleanup.sh          (또는 CTX=mycluster bash cleanup.sh)
set -uo pipefail

CTX="${CTX:-$(kubectl config current-context)}"
NS="${NS:-conn-lab}"
K="kubectl --context=$CTX"

echo "== [1] DR/SE 삭제 (ns 삭제 전에 라우팅 먼저 회수) =="
$K -n "$NS" delete destinationrule conn-dr conn-blackhole-dr --ignore-not-found
$K -n "$NS" delete serviceentry    blackhole                --ignore-not-found

echo "== [2] namespace 삭제 =="
$K delete namespace "$NS" --ignore-not-found --wait=true

echo "== [3] 확인 =="
if $K get ns "$NS" >/dev/null 2>&1; then
  echo "   (아직 Terminating 중일 수 있음 — 잠시 후 kubectl get ns $NS 로 재확인)"
else
  echo "   ns/$NS NotFound — 정리 완료."
fi
