Skip to content

Commit 0bbc2e7

Browse files
committed
commit
1 parent ed02fd0 commit 0bbc2e7

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

ops-scripts/gcp/destroy-tenant.sh

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/bin/bash
2+
3+
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
4+
5+
source ${SCRIPT_DIR}/base.sh
6+
source ${SCRIPT_DIR}/../../.gcp.env
7+
8+
TENANT=$1
9+
10+
if [[ -z "$TENANT" ]]; then
11+
echo "Must provide single argument for tenant name" 1>&2
12+
exit 1
13+
fi
14+
15+
# Check if namespace exists
16+
kubectl get namespace ${TENANT} >/dev/null 2>&1
17+
if [[ $? -ne 0 ]]; then
18+
echo "Namespace ${TENANT} does not exist. Nothing to delete."
19+
else
20+
echo "Deleting Kubernetes namespace ${TENANT}..."
21+
kubectl delete namespace ${TENANT} --wait || echo "Failed to delete namespace ${TENANT}"
22+
fi
23+
24+
# Uninstall Helm release
25+
echo "Uninstalling Helm release for tenant ${TENANT}..."
26+
helm uninstall sentrius --namespace ${TENANT} || echo "Helm release not found for tenant ${TENANT}"
27+
28+
# Delete DNS records
29+
echo "Deleting DNS records for tenant ${TENANT}..."
30+
gcloud dns record-sets transaction start --zone=${ZONE}
31+
32+
# Retrieve DNS record details
33+
TENANT_RECORD=$(gcloud dns record-sets list --zone=${ZONE} --name=${TENANT}.sentrius.cloud. --format="value(rrdatas[0],ttl,type)")
34+
KEYCLOAK_RECORD=$(gcloud dns record-sets list --zone=${ZONE} --name=keycloak.${TENANT}.sentrius.cloud. --format="value(rrdatas[0],ttl,type)")
35+
36+
# Delete tenant DNS record
37+
if [[ -n "$TENANT_RECORD" ]]; then
38+
read -r TENANT_RRDATA TENANT_TTL TENANT_TYPE <<< "$TENANT_RECORD"
39+
gcloud dns record-sets transaction remove --zone=${ZONE} \
40+
--name=${TENANT}.sentrius.cloud. \
41+
--type=$TENANT_TYPE \
42+
--ttl=$TENANT_TTL \
43+
$TENANT_RRDATA || echo "Failed to remove DNS record for ${TENANT}.sentrius.cloud"
44+
else
45+
echo "No DNS record found for ${TENANT}.sentrius.cloud"
46+
fi
47+
48+
# Delete Keycloak DNS record
49+
if [[ -n "$KEYCLOAK_RECORD" ]]; then
50+
read -r KEYCLOAK_RRDATA KEYCLOAK_TTL KEYCLOAK_TYPE <<< "$KEYCLOAK_RECORD"
51+
gcloud dns record-sets transaction remove --zone=${ZONE} \
52+
--name=keycloak.${TENANT}.sentrius.cloud. \
53+
--type=$KEYCLOAK_TYPE \
54+
--ttl=$KEYCLOAK_TTL \
55+
$KEYCLOAK_RRDATA || echo "Failed to remove DNS record for keycloak.${TENANT}.sentrius.cloud"
56+
else
57+
echo "No DNS record found for keycloak.${TENANT}.sentrius.cloud"
58+
fi
59+
60+
# Execute the DNS record transaction
61+
gcloud dns record-sets transaction execute --zone=${ZONE} || echo "No DNS changes applied."
62+
63+
echo "All resources for tenant ${TENANT} have been deleted."

0 commit comments

Comments
 (0)