130 lines
4.0 KiB
Bash
Executable File
130 lines
4.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script de test pour vérifier la configuration des variables d'environnement
|
|
|
|
set -e
|
|
|
|
# Couleurs pour les logs
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Fonction de logging
|
|
log() {
|
|
echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1"
|
|
}
|
|
|
|
error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
log "🧪 TEST DE LA CONFIGURATION DES VARIABLES D'ENVIRONNEMENT"
|
|
log "======================================================="
|
|
|
|
cd /home/debian/4NK_env/lecoffre_node
|
|
|
|
# Test 1: Vérification du fichier .env.master
|
|
log "1. Vérification du fichier .env.master..."
|
|
if [ -f ".env.master" ]; then
|
|
success "✅ Fichier .env.master existe"
|
|
echo " Taille: $(wc -l < .env.master) lignes"
|
|
echo " Variables SDK_RELAY: $(grep -c "^SDK_RELAY_" .env.master)"
|
|
echo " Variables SIGNER: $(grep -c "^SIGNER_" .env.master)"
|
|
echo " Variables VITE: $(grep -c "^VITE_" .env.master)"
|
|
else
|
|
error "❌ Fichier .env.master manquant"
|
|
exit 1
|
|
fi
|
|
|
|
# Test 2: Vérification de la syntaxe docker-compose.yml
|
|
log "2. Vérification de la syntaxe docker-compose.yml..."
|
|
if docker compose --env-file .env.master config --quiet; then
|
|
success "✅ Syntaxe docker-compose.yml valide"
|
|
else
|
|
error "❌ Erreur de syntaxe dans docker-compose.yml"
|
|
exit 1
|
|
fi
|
|
|
|
# Test 3: Vérification des fichiers .env supprimés
|
|
log "3. Vérification des fichiers .env supprimés..."
|
|
missing_env_files=0
|
|
for project in sdk_relay sdk_signer sdk_storage ihm_client lecoffre-front; do
|
|
if [ -f "../$project/.env" ]; then
|
|
error "❌ Fichier .env existe encore dans $project"
|
|
missing_env_files=$((missing_env_files + 1))
|
|
else
|
|
success "✅ Fichier .env supprimé de $project"
|
|
fi
|
|
done
|
|
|
|
if [ $missing_env_files -eq 0 ]; then
|
|
success "✅ Tous les fichiers .env ont été supprimés"
|
|
else
|
|
error "❌ $missing_env_files fichiers .env existent encore"
|
|
exit 1
|
|
fi
|
|
|
|
# Test 4: Vérification des fichiers de configuration modifiés
|
|
log "4. Vérification des fichiers de configuration..."
|
|
|
|
# Test sdk_relay config.rs
|
|
if grep -q "std::env" ../sdk_relay/src/config.rs; then
|
|
success "✅ sdk_relay/src/config.rs utilise std::env"
|
|
else
|
|
error "❌ sdk_relay/src/config.rs n'utilise pas std::env"
|
|
fi
|
|
|
|
# Test sdk_signer config.ts
|
|
if ! grep -q "dotenv.config()" ../sdk_signer/src/config.ts; then
|
|
success "✅ sdk_signer/src/config.ts ne charge plus dotenv"
|
|
else
|
|
error "❌ sdk_signer/src/config.ts charge encore dotenv"
|
|
fi
|
|
|
|
# Test 5: Vérification des variables d'environnement dans docker-compose.yml
|
|
log "5. Vérification des variables d'environnement dans docker-compose.yml..."
|
|
|
|
# Compter les services avec des variables d'environnement
|
|
env_services=$(grep -c "environment:" docker-compose.yml)
|
|
success "✅ $env_services services ont des variables d'environnement"
|
|
|
|
# Vérifier les variables critiques
|
|
critical_vars=("SDK_RELAY_CORE_URL" "SIGNER_API_KEY" "VITE_JWT_SECRET_KEY")
|
|
for var in "${critical_vars[@]}"; do
|
|
if grep -q "\${$var}" docker-compose.yml; then
|
|
success "✅ Variable $var référencée dans docker-compose.yml"
|
|
else
|
|
warning "⚠️ Variable $var non référencée dans docker-compose.yml"
|
|
fi
|
|
done
|
|
|
|
# Test 6: Test de chargement des variables
|
|
log "6. Test de chargement des variables d'environnement..."
|
|
source .env.master
|
|
if [ -n "$SDK_RELAY_CORE_URL" ] && [ -n "$SIGNER_API_KEY" ] && [ -n "$VITE_JWT_SECRET_KEY" ]; then
|
|
success "✅ Variables critiques chargées correctement"
|
|
else
|
|
error "❌ Erreur lors du chargement des variables"
|
|
exit 1
|
|
fi
|
|
|
|
log "🎯 RÉSUMÉ DES TESTS"
|
|
log "=================="
|
|
success "✅ Configuration des variables d'environnement validée"
|
|
success "✅ Architecture centralisée opérationnelle"
|
|
log ""
|
|
log "📋 PROCHAINES ÉTAPES:"
|
|
log "1. Créer le dépôt 4NK_env sur git.4nkweb.com"
|
|
log "2. Pousser le dépôt: git push origin ext"
|
|
log "3. Tester le déploiement avec: docker compose --env-file .env.master up"
|