123 lines
5.8 KiB
Bash
Executable File
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"
|