#!/bin/bash # Скрипт для удаления приложения Brabus из Azure Cloud # Цвета для вывода GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # Проверяем, установлен ли Azure CLI if ! command -v az &> /dev/null; then echo -e "${RED}Azure CLI не установлен. Пожалуйста, установите его перед запуском скрипта.${NC}" echo "Инструкции: https://docs.microsoft.com/en-us/cli/azure/install-azure-cli" exit 1 fi # Проверяем, авторизован ли пользователь в Azure echo -e "${YELLOW}Проверка авторизации в Azure...${NC}" az account show > /dev/null 2>&1 if [ $? -ne 0 ]; then echo -e "${YELLOW}Требуется авторизация в Azure. Запуск процесса входа...${NC}" az login if [ $? -ne 0 ]; then echo -e "${RED}Ошибка авторизации в Azure. Выход.${NC}" exit 1 fi fi # Загружаем переменные окружения if [ -f .env ]; then echo -e "${GREEN}Загрузка переменных окружения из файла .env${NC}" export $(grep -v '^#' .env | xargs) else echo -e "${RED}Файл .env не найден. Пожалуйста, укажите переменные окружения вручную${NC}" # Запрашиваем нужные переменные read -p "Введите имя группы ресурсов: " AZURE_RESOURCE_GROUP if [ -z "$AZURE_RESOURCE_GROUP" ]; then echo -e "${RED}Имя группы ресурсов обязательно. Выход.${NC}" exit 1 fi read -p "Введите имя реестра контейнеров (или нажмите Enter, если не нужно удалять): " AZURE_CONTAINER_REGISTRY read -p "Введите имя учетной записи хранения (или нажмите Enter, если не нужно удалять): " AZURE_STORAGE_ACCOUNT read -p "Введите имя Key Vault (или нажмите Enter, если не нужно удалять): " AZURE_KEY_VAULT_NAME fi # Запрашиваем подтверждение перед удалением echo -e "${RED}ВНИМАНИЕ: Вы собираетесь удалить следующие ресурсы:${NC}" echo -e "${RED} - Группа контейнеров: brabus-container-group в группе ресурсов ${AZURE_RESOURCE_GROUP}${NC}" if [ ! -z "$AZURE_CONTAINER_REGISTRY" ]; then echo -e "${RED} - Реестр контейнеров: ${AZURE_CONTAINER_REGISTRY}${NC}" fi if [ ! -z "$AZURE_STORAGE_ACCOUNT" ]; then echo -e "${RED} - Учетная запись хранения: ${AZURE_STORAGE_ACCOUNT}${NC}" fi if [ ! -z "$AZURE_KEY_VAULT_NAME" ]; then echo -e "${RED} - Key Vault: ${AZURE_KEY_VAULT_NAME}${NC}" fi read -p "Вы уверены, что хотите продолжить? (y/n): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then echo -e "${YELLOW}Операция отменена пользователем.${NC}" exit 0 fi # Удаляем группу контейнеров echo -e "${YELLOW}Удаление группы контейнеров...${NC}" az container delete \ --resource-group $AZURE_RESOURCE_GROUP \ --name brabus-container-group \ --yes # Удаляем реестр контейнеров, если указан if [ ! -z "$AZURE_CONTAINER_REGISTRY" ]; then echo -e "${YELLOW}Удаление реестра контейнеров ${AZURE_CONTAINER_REGISTRY}...${NC}" az acr delete \ --resource-group $AZURE_RESOURCE_GROUP \ --name $AZURE_CONTAINER_REGISTRY \ --yes fi # Удаляем учетную запись хранения, если указана if [ ! -z "$AZURE_STORAGE_ACCOUNT" ]; then echo -e "${YELLOW}Удаление учетной записи хранения ${AZURE_STORAGE_ACCOUNT}...${NC}" az storage account delete \ --resource-group $AZURE_RESOURCE_GROUP \ --name $AZURE_STORAGE_ACCOUNT \ --yes fi # Удаляем Key Vault, если указан if [ ! -z "$AZURE_KEY_VAULT_NAME" ]; then echo -e "${YELLOW}Удаление Key Vault ${AZURE_KEY_VAULT_NAME}...${NC}" # Сначала нужно изменить политику удаления, чтобы обойти защиту от удаления az keyvault update \ --name $AZURE_KEY_VAULT_NAME \ --resource-group $AZURE_RESOURCE_GROUP \ --enable-purge-protection false \ --enable-soft-delete false # Теперь можно удалить Key Vault az keyvault delete \ --name $AZURE_KEY_VAULT_NAME \ --resource-group $AZURE_RESOURCE_GROUP fi # Запрашиваем, нужно ли удалить всю группу ресурсов read -p "Хотите полностью удалить группу ресурсов ${AZURE_RESOURCE_GROUP}? (y/n): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo -e "${YELLOW}Удаление группы ресурсов ${AZURE_RESOURCE_GROUP}...${NC}" az group delete --name $AZURE_RESOURCE_GROUP --yes fi echo -e "${GREEN}Удаление ресурсов завершено!${NC}"