#!/bin/bash
# Déploiement complet de Veza avec Debian 13
# Usage: ./deploy-all-debian.sh

set -euo pipefail

PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'

echo -e "${BLUE}🚀 Déploiement complet Veza avec Debian 13${NC}"
echo ""

# 1. Infrastructure
echo -e "${BLUE}1. Déploiement de l'infrastructure...${NC}"
"${SCRIPT_DIR}/deploy-service-native.sh" infra
echo -e "${GREEN}✅ Infrastructure déployée${NC}"
echo ""

# Attendre que l'infrastructure soit prête
echo -e "${YELLOW}Attente de la disponibilité de l'infrastructure...${NC}"
for i in {1..60}; do
    if incus exec veza-infra -- systemctl is-active postgresql >/dev/null 2>&1 && \
       incus exec veza-infra -- systemctl is-active redis-server >/dev/null 2>&1; then
        echo -e "${GREEN}✅ Infrastructure prête${NC}"
        break
    fi
    sleep 2
done
echo ""

# 2. Backend API
echo -e "${BLUE}2. Déploiement du Backend API...${NC}"
"${SCRIPT_DIR}/deploy-service-native.sh" backend-api
echo -e "${GREEN}✅ Backend API déployé${NC}"
echo ""

# 3. Web
echo -e "${BLUE}3. Déploiement du Web Frontend...${NC}"
"${SCRIPT_DIR}/deploy-service-native.sh" web
echo -e "${GREEN}✅ Web Frontend déployé${NC}"
echo ""

# 4. HAProxy
echo -e "${BLUE}4. Déploiement de HAProxy...${NC}"
"${SCRIPT_DIR}/deploy-service-native.sh" haproxy
echo -e "${GREEN}✅ HAProxy déployé${NC}"
echo ""

# 5. Vérification
echo -e "${BLUE}5. Vérification du déploiement...${NC}"
"${SCRIPT_DIR}/check-deployment.sh"

echo ""
echo -e "${GREEN}✅ Déploiement complet terminé!${NC}"
