4NK_env/scripts/lecoffre_node/align-configurations.sh
LeCoffre Deployment d8d4530d2d auto_clea
2025-09-25 21:26:28 +00:00

123 lines
5.8 KiB
Bash
Executable File

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