#!/bin/bash

log(){
color='\033[31m'
reset='\033[0m'
echo -e '\n'"$color""$1"'\n'"$reset"
}

delete_db(){
sudo su postgres <<EOF
psql -c 'drop database brest;'
EOF
}

delete_packages(){
sudo apt -y --purge remove brest\*
sudo apt -y --purge remove opennebula\*
sudo rm -rf /var/lib/one
sudo rm -rf /usr/lib/one
sudo rm -rf /etc/one
}

delete_cfg(){
# see SC2010. fix?
ls /etc/apache2/sites-available/* | grep -vE 'default-ssl.conf|000-default.conf' | sudo xargs rm -v
sudo rm /etc/apache2/sites-enabled/*
sudo rm /etc/apache2/apache2.keytab
sudo rm /etc/apache2/apache2.raft.keytab
}

delete_brest(){
sudo systemctl stop opennebula opennebula-sunstone libvirtd apache2

log "Удаление БД brest..."
delete_db

sudo systemctl stop postgresql

log "Удаление пакетов и конфигурационных файлов brest* opennebula* ..."
delete_packages

log "Удаление конфигурационных файлов apache2 ..."
delete_cfg

log "Удаление пользователей brestadmin и oneadmin ..."
sudo killall -s 9 -u brestadmin
sudo userdel brestadmin
sudo killall -s 9 -u oneadmin
sudo userdel oneadmin
}

run(){
read -p "Выводить подробный лог? (Y/n)" choice
case "$choice" in
  y|Y ) delete_brest;;
  n|N ) delete_brest &> /dev/null;;
  * )   delete_brest;;
esac

log "ПК СВ Брест удалён!
Выполните перезагрузку!"
}

read -p "Вы уверены, что хотите удалить ПК СВ Брест?
Будут удалены: БД ПК СВ Брест, все его пакеты и файлы конфигурации (y/N)?" choice
case "$choice" in
  y|Y ) log "Удаление ПК СВ Брест ..."; run;;
  n|N ) exit 0;;
  * ) exit 255;;
esac
