2025-07-16 14:07:30 -04:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
set -o pipefail
|
|
|
|
|
|
|
|
# ----- Config -----
|
|
|
|
BUCKET_NAME=${1:-customersupport}
|
|
|
|
INFRA_STACK_NAME=${2:-CustomerSupportStackInfra}
|
|
|
|
COGNITO_STACK_NAME=${3:-CustomerSupportStackCognito}
|
|
|
|
REGION=$(aws configure get region)
|
|
|
|
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
|
|
|
|
FULL_BUCKET_NAME="${BUCKET_NAME}-${ACCOUNT_ID}"
|
|
|
|
ZIP_FILE="lambda.zip"
|
|
|
|
S3_KEY="lambda.zip"
|
|
|
|
|
|
|
|
# ----- Confirm Deletion -----
|
|
|
|
read -p "⚠️ Are you sure you want to delete stacks '$INFRA_STACK_NAME', '$COGNITO_STACK_NAME' and clean up S3? (y/N): " confirm
|
|
|
|
if [[ "$confirm" != "y" && "$confirm" != "Y" ]]; then
|
|
|
|
echo "❌ Cleanup cancelled."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# ----- 1. Delete CloudFormation stacks -----
|
|
|
|
echo "🧨 Deleting stack: $INFRA_STACK_NAME..."
|
|
|
|
aws cloudformation delete-stack --stack-name "$INFRA_STACK_NAME" --region "$REGION"
|
|
|
|
echo "⏳ Waiting for $INFRA_STACK_NAME to be deleted..."
|
|
|
|
aws cloudformation wait stack-delete-complete --stack-name "$INFRA_STACK_NAME" --region "$REGION"
|
|
|
|
echo "✅ Stack $INFRA_STACK_NAME deleted."
|
|
|
|
|
|
|
|
echo "🧨 Deleting stack: $COGNITO_STACK_NAME..."
|
|
|
|
aws cloudformation delete-stack --stack-name "$COGNITO_STACK_NAME" --region "$REGION"
|
|
|
|
echo "⏳ Waiting for $COGNITO_STACK_NAME to be deleted..."
|
|
|
|
aws cloudformation wait stack-delete-complete --stack-name "$COGNITO_STACK_NAME" --region "$REGION"
|
|
|
|
echo "✅ Stack $COGNITO_STACK_NAME deleted."
|
|
|
|
|
|
|
|
# ----- 2. Delete zip file from S3 -----
|
|
|
|
echo "🧹 Deleting all contents of s3://$FULL_BUCKET_NAME..."
|
|
|
|
aws s3 rm "s3://$FULL_BUCKET_NAME" --recursive || echo "⚠️ Failed to clean bucket or it is already empty."
|
|
|
|
|
|
|
|
# ----- 3. Optionally delete the bucket -----
|
|
|
|
read -p "🪣 Do you want to delete the bucket '$FULL_BUCKET_NAME'? (y/N): " delete_bucket
|
|
|
|
if [[ "$delete_bucket" == "y" || "$delete_bucket" == "Y" ]]; then
|
|
|
|
echo "🚮 Deleting bucket $FULL_BUCKET_NAME..."
|
|
|
|
aws s3 rb "s3://$FULL_BUCKET_NAME" --force
|
|
|
|
echo "✅ Bucket deleted."
|
|
|
|
else
|
|
|
|
echo "🪣 Bucket retained: $FULL_BUCKET_NAME"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# ----- 4. Clean up local zip file -----
|
|
|
|
echo "🗑️ Removing local file $ZIP_FILE..."
|
|
|
|
rm -f "$ZIP_FILE"
|
|
|
|
|
2025-07-21 11:34:00 -04:00
|
|
|
# ----- 5. Delete Knowledge Base -----
|
|
|
|
|
2025-07-16 14:07:30 -04:00
|
|
|
echo "🗑️ Deleting Knowledgebase"
|
|
|
|
python prerequisite/knowledge_base.py --mode delete
|
|
|
|
|
2025-07-21 11:34:00 -04:00
|
|
|
echo "✅ Deployment complete."
|