4NK_vault/debug_circular_vars.py
4NK Dev 4d314db889 feat: ajout de la structure complète storage/ et fichiers de configuration
- Ajout de tous les fichiers .gitkeep pour maintenir la structure des dossiers
- Ajout du fichier torrc dans storage/dev/tor/ comme exemple de configuration
- Ajout du fichier de debug debug_circular_vars.py
- Ajout du test SDK test-multiple-files.js
- Suppression du fichier .env.master obsolète
- Ajout du workspace VS Code pour le développement

Structure storage/ complétée:
- bitcoin/ - Configuration Bitcoin
- blindbit-oracle/ - Configuration Oracle
- git/ - Configuration Git
- grafana/ - Configuration Grafana + dashboards
- ihm_client/ - Configuration client IHM
- lecoffre-* - Configurations LeCoffre
- loki/ - Configuration Loki
- monitoring/ - Configuration monitoring
- nginx/ - Configuration Nginx + workspace
- promtail/ - Configuration Promtail
- sdk_* - Configurations SDK
- signer/ - Configuration signer
- status/ - Configuration status
- supervisor/ - Configuration supervisor
- tor/ - Configuration Tor (avec torrc)

Tous les fichiers sensibles restent protégés par .gitignore
2025-09-30 15:22:40 +00:00

59 lines
1.8 KiB
Python

#!/usr/bin/env python3
"""Script de debug pour les variables circulaires"""
import sys
import os
sys.path.append('/home/debian/4NK_vault')
from pathlib import Path
from api_server import EnvProcessor
def test_circular_variables():
print("🔍 Test des variables circulaires HOST/DOMAIN")
# Test avec le fichier .env de dev
env_file = Path('/home/debian/4NK_vault/storage/dev/.env')
processor = EnvProcessor(env_file)
# Test de résolution des variables problématiques
test_variables = ['HOST', 'DOMAIN', 'ROOT_HOST', 'ROOT_URL']
print(f"\n🔍 Test de résolution des variables:")
for var in test_variables:
if var in processor.variables:
original_value = processor.variables[var]
try:
resolved = processor._resolve_variable(var)
print(f" {var}: {original_value}{resolved}")
except Exception as e:
print(f" {var}: {original_value} → ERREUR: {e}")
else:
print(f" {var}: NON TROVÉE")
# Test avec un contenu qui utilise ces variables
test_content = """
GF_SERVER_ROOT_URL=https://dev4.$HOST/grafana
ROOT_URL=https://$ROOT_HOST
GRAFANA_URL=$ROOT_URL/grafana
"""
print(f"\n📄 Contenu de test:")
print(test_content)
processed_content = processor.process_content(test_content)
print(f"\n📄 Contenu traité:")
print(processed_content)
# Vérifier si des variables sont encore présentes
if '$' in processed_content:
print("\n⚠️ Variables non résolues détectées!")
import re
remaining_vars = re.findall(r'\$[A-Za-z_][A-Za-z0-9_]*', processed_content)
print(f"Variables restantes: {remaining_vars}")
else:
print("\n✅ Toutes les variables ont été résolues!")
if __name__ == "__main__":
test_circular_variables()