
Séparation des scripts de génération et amélioration de l'architecture - Séparé generate_grafana_dashboards.sh en 3 scripts distincts : * generate_grafana_dashboards.sh (dashboards uniquement) * generate_promtail_config.sh (configuration Promtail) * generate_logrotate_configs.sh (configurations Logrotate) - Supprimé generate_docker_compose.sh et generate_docker_variables.sh - Centralisé la génération des variables dans generate_variables.sh - Mis à jour generate.sh pour une architecture en 5 étapes - Corrigé les chemins de sortie et les références de variables - Ajouté la gestion d'erreurs pour les fichiers .env problématiques - Généré toutes les configurations Nginx, Grafana, Promtail et Logrotate - Amélioré la modularité et la maintenabilité du code
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
|
||
|