- Introduction du système de templates avec séparation templates/storage - Scripts de génération automatisée pour toutes les configurations - Résolution multi-passes des variables imbriquées - API simplifiée qui lit uniquement storage/ (plus de traitement de variables) - Documentation complète du nouveau système - Support des services externes (BOOTSTRAP, LECOFFRE_BACK_MINI) - Protection des templates sources et isolation des environnements
74 lines
2.2 KiB
Bash
Executable File
74 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Script de validation des templates Nginx générés
|
||
# Généré automatiquement le $(date)
|
||
|
||
set -euo pipefail
|
||
|
||
# Couleurs pour les messages
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
NC='\033[0m'
|
||
|
||
# Fonctions d'affichage
|
||
print_error() { echo -e "${RED}❌ ERREUR${NC}: $1"; }
|
||
print_success() { echo -e "${GREEN}✅ SUCCÈS${NC}: $1"; }
|
||
print_info() { echo -e "${BLUE}ℹ️ INFO${NC}: $1"; }
|
||
print_warning() { echo -e "${YELLOW}⚠️ ATTENTION${NC}: $1"; }
|
||
|
||
# Charger les variables d'environnement
|
||
if [ -f ".env" ]; then
|
||
# Charger .env en mode silencieux pour éviter les erreurs de syntaxe
|
||
source .env 2>/dev/null || true
|
||
fi
|
||
|
||
# Vérifier que HOST est défini
|
||
if [ -z "${HOST:-}" ]; then
|
||
print_warning "Variable HOST non définie, utilisation de la valeur par défaut"
|
||
export HOST="dev4._4NKweb.com"
|
||
fi
|
||
|
||
print_info "Validation des templates Nginx pour $HOST"
|
||
|
||
# Vérifier que les fichiers existent
|
||
missing_files=0
|
||
|
||
if [ ! -f "nginx/upstreams.conf" ]; then
|
||
print_error "Template nginx/upstreams.conf non trouvé"
|
||
missing_files=$((missing_files + 1))
|
||
fi
|
||
|
||
if [ ! -f "nginx/app-internal-ports.conf" ]; then
|
||
print_error "Template nginx/app-internal-ports.conf non trouvé"
|
||
missing_files=$((missing_files + 1))
|
||
fi
|
||
|
||
if [ ! -f "nginx/proxy_headers.conf" ]; then
|
||
print_error "Template nginx/proxy_headers.conf non trouvé"
|
||
missing_files=$((missing_files + 1))
|
||
fi
|
||
|
||
if [ ! -f "nginx/nginx_$HOST-https.conf" ]; then
|
||
print_error "Template nginx/nginx_$HOST-https.conf non trouvé"
|
||
missing_files=$((missing_files + 1))
|
||
fi
|
||
|
||
if [ $missing_files -eq 0 ]; then
|
||
print_success "Tous les templates de configuration sont présents"
|
||
print_info "Templates générés:"
|
||
echo " • nginx/upstreams.conf"
|
||
echo " • nginx/app-internal-ports.conf"
|
||
echo " • nginx/proxy_headers.conf"
|
||
echo " • nginx/*_https.conf (configurations HTTPS individuelles)"
|
||
echo " • nginx/nginx_$HOST-https.conf"
|
||
|
||
print_info "Ces templates sont prêts à être utilisés dans votre infrastructure"
|
||
print_warning "Adaptez les chemins et configurations selon vos besoins spécifiques"
|
||
else
|
||
print_error "$missing_files template(s) manquant(s)"
|
||
exit 1
|
||
fi
|
||
|