zkt25/sk1/remove-app.sh

123 lines
5.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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}"