#!/bin/bash
# init-swarm-db.sh
# Script d'initialisation MySQL pour Docker Swarm
# Crée les 2 utilisateurs (faildaily_user + faildaily_logs_user)

set -e

echo "🔧 Initialisation MySQL Swarm..."

# Lire les secrets
DB_PASS=$(cat /run/secrets/db_password)
LOGS_PASS=$(cat /run/secrets/logs_db_password)
ROOT_PASS=$(cat /run/secrets/mysql_root_password)

# L'entrypoint MySQL a déjà appliqué MYSQL_ROOT_PASSWORD_FILE
# Donc root a DÉJÀ un mot de passe pendant le serveur temporaire
mysql -uroot -p"$ROOT_PASS" <<EOF
-- Créer l'utilisateur principal
CREATE USER IF NOT EXISTS 'faildaily_user'@'%' IDENTIFIED BY '$DB_PASS';
GRANT ALL PRIVILEGES ON faildaily.* TO 'faildaily_user'@'%';

-- Créer la base logs
CREATE DATABASE IF NOT EXISTS faildaily_logs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- Créer l'utilisateur logs
CREATE USER IF NOT EXISTS 'faildaily_logs_user'@'%' IDENTIFIED BY '$LOGS_PASS';
GRANT ALL PRIVILEGES ON faildaily_logs.* TO 'faildaily_logs_user'@'%';

FLUSH PRIVILEGES;
SELECT 'MySQL users created successfully' AS result;
EOF

echo "✅ MySQL initialisé avec 2 utilisateurs !"
