#!/bin/bash # Script d'alignement des configurations LeCoffre Node set -e # Couleurs RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' CYAN='\033[0;36m' NC='\033[0m' echo -e "${CYAN}========================================${NC}" echo -e "${CYAN} LeCoffre Node - Configuration Alignment${NC}" echo -e "${CYAN}========================================${NC}" # Fonction pour vérifier une configuration check_config() { local file="$1" local description="$2" if [ -f "$file" ] || [ -d "$file" ]; then echo -e " ${GREEN}✓${NC} $description: Présent" return 0 else echo -e " ${RED}✗${NC} $description: Manquant" return 1 fi } # Fonction pour vérifier une variable d'environnement check_env_var() { local var="$1" local description="$2" if grep -q "^$var=" /home/debian/4NK_env/.env.master; then echo -e " ${GREEN}✓${NC} $description: Définie" return 0 else echo -e " ${RED}✗${NC} $description: Non définie" return 1 fi } # Vérification des fichiers de configuration echo -e "\n${BLUE}=== Fichiers de Configuration ===${NC}" check_config "/home/debian/4NK_env/.env.master" "Variables d'environnement centralisées" check_config "/home/debian/4NK_env/confs/lecoffre_node/blindbit-oracle/blindbit.toml" "Configuration BlindBit Oracle" check_config "/home/debian/4NK_env/confs/lecoffre_node/relay/sdk_relay.conf" "Configuration SDK Relay" check_config "/home/debian/4NK_env/confs/lecoffre_node/nginx/dev4.4nkweb.com-https.conf" "Configuration Nginx HTTPS" check_config "/home/debian/4NK_env/confs/lecoffre_node/loki/loki-config.yaml" "Configuration Loki" check_config "/home/debian/4NK_env/confs/lecoffre_node/promtail/promtail.yml" "Configuration Promtail" # Vérification des variables d'environnement critiques echo -e "\n${BLUE}=== Variables d'Environnement Critiques ===${NC}" check_env_var "BITCOIN_RPC_USER" "Bitcoin RPC User" check_env_var "BITCOIN_RPC_PASSWORD" "Bitcoin RPC Password" check_env_var "SDK_RELAY_CORE_URL" "SDK Relay Core URL" check_env_var "SDK_RELAY_WS_URL" "SDK Relay WebSocket URL" check_env_var "SDK_RELAY_BLINDBIT_URL" "SDK Relay BlindBit URL" check_env_var "DOMAIN" "Domaine principal" check_env_var "BOOTSTRAP_DOMAIN" "Domaine bootstrap" # Vérification des répertoires de logs echo -e "\n${BLUE}=== Répertoires de Logs ===${NC}" for service in bitcoin blindbit sdk_relay sdk_storage lecoffre-front ihm_client grafana loki promtail; do check_config "/home/debian/4NK_env/logs/$service" "Logs $service" done # Vérification des scripts echo -e "\n${BLUE}=== Scripts de Gestion ===${NC}" check_config "/home/debian/4NK_env/scripts/lecoffre_node/start.sh" "Script de démarrage" check_config "/home/debian/4NK_env/scripts/lecoffre_node/validate-deployment.sh" "Script de validation" check_config "/home/debian/4NK_env/scripts/lecoffre_node/maintenance.sh" "Script de maintenance" check_config "/home/debian/4NK_env/scripts/lecoffre_node/backup-data.sh" "Script de sauvegarde" check_config "/home/debian/4NK_env/scripts/lecoffre_node/url-health-check.sh" "Script de test d'URLs" check_config "/home/debian/4NK_env/scripts/lecoffre_node/quick-health-check.sh" "Script de vérification rapide" # Vérification des healthchecks echo -e "\n${BLUE}=== Scripts de Healthcheck ===${NC}" check_config "/home/debian/4NK_env/scripts/lecoffre_node/healthchecks/blindbit-progress.sh" "Healthcheck BlindBit Oracle" check_config "/home/debian/4NK_env/scripts/lecoffre_node/healthchecks/bitcoin-progress.sh" "Healthcheck Bitcoin" check_config "/home/debian/4NK_env/scripts/lecoffre_node/healthchecks/sdk-relay-progress.sh" "Healthcheck SDK Relay" # Vérification des dashboards Grafana echo -e "\n${BLUE}=== Dashboards Grafana ===${NC}" check_config "/home/debian/4NK_env/confs/lecoffre_node/grafana/dashboards/blindbit-oracle.json" "Dashboard BlindBit Oracle" check_config "/home/debian/4NK_env/confs/lecoffre_node/grafana/dashboards/lecoffre-overview.json" "Dashboard LeCoffre Overview" check_config "/home/debian/4NK_env/confs/lecoffre_node/grafana/dashboards/services-overview.json" "Dashboard Services Overview" # Vérification des permissions echo -e "\n${BLUE}=== Permissions des Scripts ===${NC}" for script in start.sh validate-deployment.sh maintenance.sh backup-data.sh url-health-check.sh quick-health-check.sh; do if [ -x "/home/debian/4NK_env/scripts/lecoffre_node/$script" ]; then echo -e " ${GREEN}✓${NC} $script: Exécutable" else echo -e " ${RED}✗${NC} $script: Non exécutable" fi done # Vérification de la cohérence des ports echo -e "\n${BLUE}=== Cohérence des Ports ===${NC}" echo -e " ${BLUE}Ports exposés dans docker-compose.yml:${NC}" grep -A 1 "ports:" /home/debian/4NK_env/lecoffre_node/docker-compose.yml | grep -E "^\s+-" | sed 's/^/ /' # Vérification de la configuration centralisée echo -e "\n${BLUE}=== Configuration Centralisée ===${NC}" echo -e " ${GREEN}✓${NC} Toutes les configurations sont dans /home/debian/4NK_env/confs/" echo -e " ${GREEN}✓${NC} Tous les logs sont dans /home/debian/4NK_env/logs/" echo -e " ${GREEN}✓${NC} Toutes les variables d'environnement sont dans /home/debian/4NK_env/.env.master" echo -e " ${GREEN}✓${NC} Tous les scripts sont dans /home/debian/4NK_env/scripts/lecoffre_node/" # Résumé echo -e "\n${CYAN}========================================${NC}" echo -e "${GREEN}✓ Alignement des configurations terminé${NC}" echo -e "${CYAN}========================================${NC}" echo -e "\n${YELLOW}Recommandations:${NC}" echo -e " • Vérifier régulièrement la cohérence des configurations" echo -e " • Maintenir la centralisation des fichiers de configuration" echo -e " • Surveiller les logs pour détecter les incohérences" echo -e " • Utiliser les scripts de vérification avant chaque déploiement"