mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 11:26:25 +00:00
90 lines
2.8 KiB
Bash
Executable File
90 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# HGZero Backend Services Kubernetes Undeployment Script
|
|
|
|
set -e
|
|
|
|
# Color codes for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Configuration
|
|
NAMESPACE="hgzero"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo -e "${YELLOW}======================================${NC}"
|
|
echo -e "${YELLOW}HGZero Backend Services Undeployment${NC}"
|
|
echo -e "${YELLOW}======================================${NC}"
|
|
|
|
# Check if kubectl is installed
|
|
if ! command -v kubectl &> /dev/null; then
|
|
echo -e "${RED}Error: kubectl is not installed${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Verify connection to cluster
|
|
echo -e "${YELLOW}Verifying connection to Kubernetes cluster...${NC}"
|
|
if ! kubectl cluster-info &> /dev/null; then
|
|
echo -e "${RED}Error: Cannot connect to Kubernetes cluster${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
# Check if namespace exists
|
|
if ! kubectl get namespace ${NAMESPACE} &> /dev/null; then
|
|
echo -e "${YELLOW}Namespace '${NAMESPACE}' does not exist. Nothing to undeploy.${NC}"
|
|
exit 0
|
|
fi
|
|
|
|
echo -e "${YELLOW}This will delete all services in namespace '${NAMESPACE}'${NC}"
|
|
read -p "Are you sure you want to continue? (y/N): " -n 1 -r
|
|
echo
|
|
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
echo -e "${YELLOW}Undeployment cancelled${NC}"
|
|
exit 0
|
|
fi
|
|
|
|
# Delete services
|
|
echo -e "${YELLOW}Deleting Meeting Service...${NC}"
|
|
kubectl delete -f ${SCRIPT_DIR}/meeting-service.yaml --ignore-not-found=true
|
|
echo -e "${GREEN}✓ Meeting Service deleted${NC}"
|
|
|
|
echo -e "${YELLOW}Deleting Notification Service...${NC}"
|
|
kubectl delete -f ${SCRIPT_DIR}/notification-service.yaml --ignore-not-found=true
|
|
echo -e "${GREEN}✓ Notification Service deleted${NC}"
|
|
|
|
echo -e "${YELLOW}Deleting User Service...${NC}"
|
|
kubectl delete -f ${SCRIPT_DIR}/user-service.yaml --ignore-not-found=true
|
|
echo -e "${GREEN}✓ User Service deleted${NC}"
|
|
|
|
# Delete ConfigMaps
|
|
echo -e "${YELLOW}Deleting ConfigMaps...${NC}"
|
|
kubectl delete -f ${SCRIPT_DIR}/configmap.yaml --ignore-not-found=true
|
|
echo -e "${GREEN}✓ ConfigMaps deleted${NC}"
|
|
|
|
# Ask about secrets deletion
|
|
echo ""
|
|
echo -e "${YELLOW}Do you want to delete secrets as well?${NC}"
|
|
echo -e "${RED}Warning: This will delete all database and Azure credentials${NC}"
|
|
read -p "Delete secrets? (y/N): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
kubectl delete secret db-secret azure-secret mail-secret -n ${NAMESPACE} --ignore-not-found=true
|
|
echo -e "${GREEN}✓ Secrets deleted${NC}"
|
|
fi
|
|
|
|
# Ask about namespace deletion
|
|
echo ""
|
|
echo -e "${YELLOW}Do you want to delete the namespace '${NAMESPACE}'?${NC}"
|
|
read -p "Delete namespace? (y/N): " -n 1 -r
|
|
echo
|
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
|
kubectl delete namespace ${NAMESPACE}
|
|
echo -e "${GREEN}✓ Namespace deleted${NC}"
|
|
fi
|
|
|
|
echo -e "${GREEN}======================================${NC}"
|
|
echo -e "${GREEN}Undeployment Completed${NC}"
|
|
echo -e "${GREEN}======================================${NC}"
|