4NK_vault/storage/dev/nginx/validate_templates.sh
4NK Dev 4834c40503 ci: docker_tag=dev-test
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
2025-10-03 17:13:19 +00:00

74 lines
2.2 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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