#!/bin/bash
# Script de mise à jour des secrets DB pour FailDaily
# À exécuter sur le serveur OVH

set -e  # Arrêter en cas d'erreur

echo "🔧 Mise à jour des secrets de base de données FailDaily"
echo ""

# Variables
DB_PASSWORD="51008473ZoE"
STACK_FILE="/home/taaazzz/FailDaily/docker/docker-stack.ovh-cloud.yml"

# 1. Arrêter la stack
echo "1️⃣ Arrêt de la stack FailDaily..."
docker stack rm faildaily
echo "⏳ Attente de l'arrêt complet (15 secondes)..."
sleep 15

# 2. Supprimer les anciens secrets
echo ""
echo "2️⃣ Suppression des anciens secrets..."
docker secret rm db_password 2>/dev/null || echo "Secret db_password déjà supprimé"
docker secret rm logs_db_password 2>/dev/null || echo "Secret logs_db_password déjà supprimé"

# 3. Créer les nouveaux secrets
echo ""
echo "3️⃣ Création des nouveaux secrets..."
echo "$DB_PASSWORD" | docker secret create db_password -
echo "$DB_PASSWORD" | docker secret create logs_db_password -

# 4. Vérifier les secrets
echo ""
echo "4️⃣ Vérification des secrets créés:"
docker secret ls | grep -E "NAME|db_password|logs_db_password"

# 5. Redéployer la stack
echo ""
echo "5️⃣ Redéploiement de la stack FailDaily..."
docker stack deploy -c "$STACK_FILE" faildaily --with-registry-auth

# 6. Attendre le démarrage
echo ""
echo "⏳ Attente du démarrage des services (15 secondes)..."
sleep 15

# 7. Vérifier le statut
echo ""
echo "6️⃣ Statut des services:"
docker stack services faildaily

# 8. Afficher les logs
echo ""
echo "7️⃣ Logs récents du backend (recherche de connexion MySQL):"
docker service logs faildaily_backend --tail 30 | grep -i "mysql\|connexion\|success"

echo ""
echo "✅ Mise à jour terminée!"
echo ""
echo "Pour suivre les logs en temps réel:"
echo "  docker service logs faildaily_backend -f"
echo ""
echo "Pour tester l'application:"
echo "  curl https://faildaily.com/api/health"
