align for IA agents + grafana

This commit is contained in:
LeCoffre Deployment 2025-09-22 01:47:58 +00:00
parent 9e29f69d9d
commit 3711626b2b
7 changed files with 562 additions and 8 deletions

View File

@ -0,0 +1,155 @@
# Changelog - LeCoffre Node Scripts Avancés
**Date : 22 Janvier 2025**
## 🚀 Nouvelles Fonctionnalités
### Scripts Principaux
- ✅ **`start.sh`** - Démarrage séquentiel intelligent avec progression détaillée
- ✅ **`validate-deployment.sh`** - Validation complète du déploiement
- ✅ **`maintenance.sh`** - Menu interactif de maintenance
### Protection des Données
- ✅ **`backup-data.sh`** - Sauvegarde automatique des volumes Docker
- ✅ **`restore-data.sh`** - Restauration depuis sauvegarde
- ✅ **`update-images.sh`** - Mise à jour sécurisée avec sauvegarde
### Monitoring et Logs
- ✅ **`collect-logs.sh`** - Collecte organisée des logs
- ✅ **`test-monitoring.sh`** - Tests des services de monitoring
- ✅ **`test-dashboards.sh`** - Validation des dashboards Grafana
## 🔧 Améliorations
### Scripts Existants
- ✅ **`deploy-master.sh`** - Intégration du nouveau système de démarrage
- ✅ **`collect-logs.sh`** - Liste complète des services avec mapping correct
- ✅ **`build-project.sh`** - Documentation des projets supportés
### Docker Compose
- ✅ **Volumes persistants** - Ajout des volumes pour SDK Signer et SDK Storage
- ✅ **Healthchecks améliorés** - Scripts de progression intégrés
- ✅ **Dockerfile.master** - Ajout des outils nécessaires (procps, ncurses)
## 📊 Fonctionnalités de Progression
### Affichage en Temps Réel
- ✅ **Tor Bootstrap** - Progression 0-100% avec étapes
- ✅ **Bitcoin IBD** - Blocs synchronisés et pourcentage de vérification
- ✅ **BlindBit Oracle** - Scan des blocs et tweaks détectés
- ✅ **SDK Relay** - Synchronisation et connexions WebSocket
- ✅ **SDK Signer** - État de connexion et clés disponibles
- ✅ **URLs publiques** - Accessibilité HTTPS/WebSocket
### Validation Complète
- ✅ **Volumes Docker** - Vérification de la persistance des données
- ✅ **Services** - Statut et healthchecks
- ✅ **URLs publiques** - Tests de connectivité
- ✅ **WebSockets** - Tests de connexion
- ✅ **Scripts** - Disponibilité et permissions
## 🛡️ Sécurité et Fiabilité
### Sauvegarde Automatique
- ✅ **Volumes critiques** - Bitcoin, BlindBit, SDK Storage, SDK Signer
- ✅ **Archives compressées** - Avec timestamps et gestion des permissions
- ✅ **Mise à jour sécurisée** - Sauvegarde automatique avant mise à jour
### Gestion des Erreurs
- ✅ **Timeouts adaptatifs** - Pour les processus longs (Tor, Bitcoin)
- ✅ **Gestion des permissions** - Copie et archivage sécurisés
- ✅ **Validation préalable** - Vérifications avant opérations critiques
## 📁 Structure des Volumes
### Volumes Persistants
- ✅ **`4nk_node_bitcoin_data`** - Données Bitcoin Signet
- ✅ **`4nk_node_blindbit_data`** - Données BlindBit Oracle
- ✅ **`4nk_node_sdk_data`** - Données SDK Relay
- ✅ **`4nk_node_sdk_signer_data`** - Données SDK Signer
- ✅ **`4nk_node_sdk_storage_data`** - Données SDK Storage
- ✅ **`4nk_node_grafana_data`** - Données Grafana
- ✅ **`4nk_node_loki_data`** - Données Loki
## 🔄 Workflows Optimisés
### Déploiement Initial
```bash
./scripts/start.sh # Démarrage avec progression
./scripts/validate-deployment.sh # Validation complète
./scripts/test-monitoring.sh # Tests de monitoring
```
### Maintenance Régulière
```bash
./scripts/maintenance.sh # Menu interactif
./scripts/backup-data.sh # Sauvegarde manuelle
./scripts/collect-logs.sh # Collecte des logs
```
### Mise à Jour
```bash
./scripts/update-images.sh # Mise à jour sécurisée
./scripts/validate-deployment.sh # Validation post-mise à jour
```
### Récupération d'Urgence
```bash
docker compose down # Arrêt des services
./scripts/restore-data.sh <backup> # Restauration
./scripts/start.sh # Redémarrage
```
## 📚 Documentation
### Nouveaux Documents
- ✅ **`scripts/README.md`** - Documentation complète des scripts
- ✅ **`scripts-advanced.md`** - Guide détaillé des scripts avancés
- ✅ **`CHANGELOG-2025-01-22.md`** - Ce changelog
### Documents Mis à Jour
- ✅ **`deploy.md`** - Nouvelles procédures et scripts
- ✅ **`context.md`** - Scripts de gestion avancés
- ✅ **`flux.md`** - Tableau des scripts de gestion
- ✅ **`README.md`** - Obligations et interdictions mises à jour
## 🎯 Objectifs Atteints
### Progression Visible
- ✅ **Affichage en temps réel** - Progression détaillée de tous les services
- ✅ **Timeouts adaptatifs** - Gestion des processus longs (Tor 15min, Bitcoin 2h)
- ✅ **Healthchecks intégrés** - Messages de progression dans les healthchecks
### Protection des Données
- ✅ **Persistance garantie** - Volumes Docker pour tous les services critiques
- ✅ **Sauvegarde automatique** - Avant toute mise à jour ou modification
- ✅ **Restauration simple** - Processus de récupération documenté
### Maintenance Simplifiée
- ✅ **Menu interactif** - Toutes les tâches de maintenance centralisées
- ✅ **Validation complète** - Vérification de tous les aspects du déploiement
- ✅ **Documentation exhaustive** - Guides complets pour tous les scripts
## 🔮 Prochaines Étapes
### Tests et Validation
- [ ] Tests complets du système de sauvegarde/restauration
- [ ] Validation des workflows de mise à jour
- [ ] Tests de récupération d'urgence
### Optimisations
- [ ] Amélioration des timeouts basée sur les retours d'expérience
- [ ] Optimisation des scripts de collecte de logs
- [ ] Amélioration des messages de progression
### Documentation
- [ ] Mise à jour des guides utilisateur
- [ ] Documentation des cas d'usage avancés
- [ ] Formation des équipes sur les nouveaux scripts
## 📞 Support
Pour toute question ou problème avec les nouveaux scripts :
1. Consulter la documentation dans `scripts/README.md`
2. Utiliser `./scripts/validate-deployment.sh` pour diagnostiquer
3. Utiliser `./scripts/maintenance.sh` pour les tâches de maintenance
4. Consulter les logs avec `./scripts/collect-logs.sh`

View File

@ -16,10 +16,11 @@ Ce répertoire contient toute la documentation nécessaire pour les agents IA tr
- [`monitoring-progress.md`](monitoring-progress.md) - Système de monitoring et progression
- [`quick-reference-monitoring.md`](quick-reference-monitoring.md) - Guide de référence rapide
### **3. Documents d'Architecture (NOUVEAU)**
### **3. Documents d'Architecture**
- [`deployment-architecture.md`](deployment-architecture.md) - Architecture de déploiement par phases
- [`best-practices-deployment.md`](best-practices-deployment.md) - Bonnes pratiques et interdictions
- [`loki-configuration-guide.md`](loki-configuration-guide.md) - Configuration Loki obligatoire
- [`scripts-advanced.md`](scripts-advanced.md) - **NOUVEAU** - Documentation complète des scripts avancés
### **4. Documents de Déploiement**
- [`prompts/prompt-deploy.md`](prompts/prompt-deploy.md) - Prompt de déploiement complet
@ -36,10 +37,12 @@ docker compose start
### **✅ OBLIGATIONS ABSOLUES**
```bash
# ✅ Utiliser UNIQUEMENT ces scripts
./scripts/start-with-progress.sh # Services applicatifs
./scripts/start-monitoring.sh # Services de monitoring
./scripts/monitor-progress.sh # Surveillance
# ✅ Utiliser UNIQUEMENT ces scripts (NOUVEAU)
./scripts/start.sh # Démarrage séquentiel avec progression
./scripts/validate-deployment.sh # Validation complète
./scripts/maintenance.sh # Menu de maintenance interactif
./scripts/backup-data.sh # Sauvegarde des données
./scripts/update-images.sh # Mise à jour sécurisée
```
## 🏗️ Architecture de Déploiement

View File

@ -38,6 +38,23 @@ A déployer par **`lecoffre_node/`** (d'autres projets externes sont ne dépenda
- ✅ **Sécurité renforcée** : Variables centralisées et protégées
- ✅ **Déploiement simplifié** : `docker compose --env-file .env.master up`
### 🆕 Scripts de Gestion Avancés (2025-01-22)
**Scripts principaux** :
- ✅ **`start.sh`** : Démarrage séquentiel avec progression détaillée en temps réel
- ✅ **`validate-deployment.sh`** : Validation complète du déploiement (volumes, services, URLs)
- ✅ **`maintenance.sh`** : Menu interactif de maintenance et monitoring
**Protection des données** :
- ✅ **`backup-data.sh`** : Sauvegarde automatique des volumes Docker critiques
- ✅ **`restore-data.sh`** : Restauration depuis une sauvegarde
- ✅ **`update-images.sh`** : Mise à jour sécurisée avec sauvegarde automatique
**Monitoring et logs** :
- ✅ **`collect-logs.sh`** : Collecte organisée des logs de tous les services
- ✅ **`test-monitoring.sh`** : Tests des services de monitoring
- ✅ **`test-dashboards.sh`** : Validation des dashboards Grafana
### Services optimisés (2024-12-19)
- **`sdk_relay/`** (relai des transations et messages et oracle) - Debian + Rust
- **`sdk_signer/`** (signature des processus métier et des identités/profils) - Debian + Node.js 20

View File

@ -38,13 +38,39 @@ Via les scripts, lance tous les services de `lecoffre_node/docker-compose.yml`.
## Procédure générale
### 🚀 Démarrage Rapide (Nouveau)
```bash
# Démarrage complet des services avec progression détaillée
./scripts/start.sh
# Validation complète du déploiement
./scripts/validate-deployment.sh
# Maintenance interactive
./scripts/maintenance.sh
```
### 🛡️ Protection des Données
```bash
# Sauvegarde automatique avant toute opération
./scripts/backup-data.sh
# Mise à jour sécurisée des images
./scripts/update-images.sh
# Restauration en cas de problème
./scripts/restore-data.sh <backup_file>
```
### Vérifications initiales par projet
1. Vérifier que le dépôt distant est **public** (si possible).
2. Vérifier lutilisation des **clés SSH** pour le déploiement Git (idéalement ~/.ssh/id_ed25519)
2. Vérifier l'utilisation des **clés SSH** pour le déploiement Git (idéalement ~/.ssh/id_ed25519)
3. Vérifier que la branche courante est bien **`ext`**.
4. Mettre à jour les dépendances et les langages
5. Vérifier les **variables denvironnement**.
5. Vérifier les **variables d'environnement**.
### Mise à jour et construction par projet
@ -206,6 +232,44 @@ Après le push sur la branche Git `ext` :
2. Pousser l'image sur le **tag Docker `ext`** via la CI
3. Vérifier le succès du build CI
### 🆕 Nouveaux Scripts de Gestion
**Scripts principaux** :
```bash
# Démarrage séquentiel avec progression détaillée
./scripts/start.sh
# Validation complète du déploiement
./scripts/validate-deployment.sh
# Menu de maintenance interactif
./scripts/maintenance.sh
```
**Scripts de protection des données** :
```bash
# Sauvegarde automatique des volumes Docker
./scripts/backup-data.sh
# Mise à jour sécurisée avec sauvegarde
./scripts/update-images.sh
# Restauration depuis une sauvegarde
./scripts/restore-data.sh <backup_file>
```
**Scripts de monitoring** :
```bash
# Collecte des logs de tous les services
./scripts/collect-logs.sh
# Tests des services de monitoring
./scripts/test-monitoring.sh
# Tests des dashboards Grafana
./scripts/test-dashboards.sh
```
### Déploiement avec variables centralisées
**Utilisation du .env.master** :

View File

@ -4,6 +4,17 @@
## Tableau des Services - IP/Domaines et Ports
### 🚀 **Scripts de Gestion (Nouveau)**
| Script | Fonction | Utilisation |
|--------|----------|-------------|
| **`start.sh`** | Démarrage séquentiel avec progression | `./scripts/start.sh` |
| **`validate-deployment.sh`** | Validation complète du déploiement | `./scripts/validate-deployment.sh` |
| **`maintenance.sh`** | Menu interactif de maintenance | `./scripts/maintenance.sh` |
| **`backup-data.sh`** | Sauvegarde des volumes Docker | `./scripts/backup-data.sh` |
| **`restore-data.sh`** | Restauration depuis sauvegarde | `./scripts/restore-data.sh <backup>` |
| **`update-images.sh`** | Mise à jour sécurisée | `./scripts/update-images.sh` |
### 🏠 **Services Locaux (Docker Compose)**
| Service | Container | Port Local | Port Interne | Protocole | URL d'accès |

View File

@ -34,7 +34,7 @@ A mettre dans ta TODO (vérifie que tout est fait à la fin):
- [ ] Vérifier les variables d'environnement centralisées dans `.env.master`
### Phase 2: Construction et optimisation
- [ ] Supprimer les caches et optimiser le build de chaque projet
- [ ] si il y a eu des changements, Supprimer les caches et optimiser le build de chaque projet
- [ ] Mettre à jour la documentation
- [ ] Mettre à jour les tests
- [ ] Mettre à jour les scripts

View File

@ -0,0 +1,304 @@
# Scripts Avancés LeCoffre Node
## 🚀 Vue d'ensemble
LeCoffre Node dispose maintenant d'un ensemble complet de scripts pour la gestion, le monitoring et la maintenance de l'architecture complète.
## 📋 Scripts Principaux
### `start.sh` - Démarrage Séquentiel Intelligent
**Fonctionnalités** :
- Démarrage des services dans l'ordre logique optimal
- Affichage de la progression détaillée en temps réel
- Compatibilité complète avec Bitcoin Signet
- Gestion des timeouts adaptatifs
- Monitoring des healthchecks intégrés
**Utilisation** :
```bash
./scripts/start.sh
```
**Progression affichée** :
- Tor Bootstrap (0-100%)
- Bitcoin IBD (blocs synchronisés, pourcentage de vérification)
- BlindBit Oracle (scan des blocs, tweaks détectés)
- SDK Relay (synchronisation, connexions WebSocket)
- SDK Signer (état de connexion, clés disponibles)
- URLs publiques (accessibilité HTTPS/WebSocket)
### `validate-deployment.sh` - Validation Complète
**Fonctionnalités** :
- Vérification des volumes Docker (persistance des données)
- Validation des services et healthchecks
- Tests des URLs publiques et WebSockets
- Vérification des scripts et permissions
- Rapport détaillé avec compteurs
**Utilisation** :
```bash
./scripts/validate-deployment.sh
```
**Vérifications effectuées** :
- ✅ Volumes Docker (Bitcoin, BlindBit, SDK Storage, SDK Signer, Grafana, Loki)
- ✅ Services (Tor, Bitcoin, BlindBit, SDK Relay, SDK Signer, LeCoffre, IHM, Grafana)
- ✅ URLs publiques (Status, Grafana, Main Site, LeCoffre App)
- ✅ WebSockets (Bootstrap Relay, Signer Service)
- ✅ Scripts (disponibilité et permissions)
### `maintenance.sh` - Menu Interactif
**Fonctionnalités** :
- Menu interactif pour toutes les tâches de maintenance
- Validation complète du déploiement
- Sauvegarde et restauration des données
- Nettoyage des logs et images Docker
- Vérification de l'espace disque
- Redémarrage et mise à jour des services
**Utilisation** :
```bash
./scripts/maintenance.sh
```
**Options disponibles** :
1. Validation complète du déploiement
2. Sauvegarde des données
3. Nettoyage des logs anciens
4. Nettoyage des images Docker inutilisées
5. Vérification de l'espace disque
6. Redémarrage des services
7. Mise à jour des images
8. Collecte des logs
9. Vérification de la santé des services
## 🛡️ Protection des Données
### `backup-data.sh` - Sauvegarde Automatique
**Fonctionnalités** :
- Sauvegarde de tous les volumes Docker critiques
- Création d'archives compressées avec timestamps
- Gestion des permissions et erreurs
- Support des volumes Bitcoin, BlindBit, SDK Storage, SDK Signer
**Utilisation** :
```bash
./scripts/backup-data.sh
```
**Volumes sauvegardés** :
- `4nk_node_bitcoin_data` : Données Bitcoin Signet
- `4nk_node_blindbit_data` : Données BlindBit Oracle
- `4nk_node_sdk_data` : Données SDK Relay
- `4nk_node_sdk_signer_data` : Données SDK Signer
- `4nk_node_sdk_storage_data` : Données SDK Storage
- `4nk_node_grafana_data` : Données Grafana
- `4nk_node_loki_data` : Données Loki
### `restore-data.sh` - Restauration
**Fonctionnalités** :
- Restauration depuis une sauvegarde spécifiée
- Arrêt sécurisé des services avant restauration
- Remplacement complet des données existantes
- Gestion des permissions et erreurs
**Utilisation** :
```bash
./scripts/restore-data.sh <backup_file.tar.gz>
```
### `update-images.sh` - Mise à Jour Sécurisée
**Fonctionnalités** :
- Sauvegarde automatique avant mise à jour
- Téléchargement des nouvelles images Docker
- Redémarrage des services avec les nouvelles images
- Protection complète des données
**Utilisation** :
```bash
./scripts/update-images.sh
```
## 📊 Monitoring et Logs
### `collect-logs.sh` - Collecte des Logs
**Fonctionnalités** :
- Collecte automatique ou par service spécifique
- Organisation par répertoires avec timestamps
- Support de tous les services LeCoffre Node
**Utilisation** :
```bash
# Tous les services
./scripts/collect-logs.sh
# Service spécifique
./scripts/collect-logs.sh bitcoin-signet
```
**Services supportés** :
- Tor Proxy, Bitcoin Signet, BlindBit Oracle
- SDK Relay, SDK Signer, SDK Storage
- LeCoffre Backend, LeCoffre Frontend, IHM Client
- Grafana, Loki, Promtail, Status API, Signet Miner
### `test-monitoring.sh` - Tests de Monitoring
**Fonctionnalités** :
- Vérification des services Grafana, Loki, Promtail
- Tests de connectivité et API
- Validation des dashboards
### `test-dashboards.sh` - Tests des Dashboards
**Fonctionnalités** :
- Vérification des dashboards Grafana
- Tests des sources de données
- Validation des métriques
## 🔧 Scripts de Configuration
### `sync-configs.sh` - Synchronisation
**Fonctionnalités** :
- Copie des configurations vers les conteneurs
- Mise à jour des paramètres
- Redémarrage des services
### `sync-monitoring-config.sh` - Configuration Monitoring
**Fonctionnalités** :
- Configuration Grafana
- Configuration Loki/Promtail
- Déploiement des dashboards
### `setup-logs.sh` - Configuration des Logs
**Fonctionnalités** :
- Création des répertoires de logs
- Configuration des permissions
- Setup des rotations
## 🛠️ Scripts de Maintenance
### `fix_relay_funds.sh` - Correction des Fonds
**Fonctionnalités** :
- Vérification des fonds du relay
- Correction des problèmes
- Tests de connectivité
### `optimize-relay-startup.sh` - Optimisation Relay
**Fonctionnalités** :
- Optimisation des paramètres
- Amélioration des performances
- Tests de stabilité
### `verify_mining_fix.sh` - Vérification Minage
**Fonctionnalités** :
- Tests du minage Signet
- Vérification des blocs
- Validation des transactions
## 🔒 Scripts de Sécurité
### `generate-ssl-certs.sh` - Certificats SSL
**Fonctionnalités** :
- Création des certificats
- Configuration HTTPS
- Sécurisation des communications
### `uninstall-host-nginx.sh` - Désinstallation Nginx
**Fonctionnalités** :
- Nettoyage de Nginx
- Suppression des configurations
- Libération des ports
## 📁 Structure des Volumes
Les données sont persistées dans les volumes Docker suivants :
| Volume | Service | Description |
|--------|---------|-------------|
| `4nk_node_bitcoin_data` | Bitcoin Signet | Blockchain, wallet, configuration |
| `4nk_node_blindbit_data` | BlindBit Oracle | Cache des scans, tweaks détectés |
| `4nk_node_sdk_data` | SDK Relay | Messages, transactions, cache |
| `4nk_node_sdk_signer_data` | SDK Signer | Clés privées, signatures, profils |
| `4nk_node_sdk_storage_data` | SDK Storage | Données temporaires, cache |
| `4nk_node_grafana_data` | Grafana | Dashboards, configurations, utilisateurs |
| `4nk_node_loki_data` | Loki | Logs centralisés, index |
## 🔄 Workflows Recommandés
### Déploiement Initial
```bash
# 1. Démarrage complet
./scripts/start.sh
# 2. Validation
./scripts/validate-deployment.sh
# 3. Tests de monitoring
./scripts/test-monitoring.sh
```
### Maintenance Régulière
```bash
# 1. Menu de maintenance
./scripts/maintenance.sh
# 2. Sauvegarde manuelle si nécessaire
./scripts/backup-data.sh
# 3. Collecte des logs
./scripts/collect-logs.sh
```
### Mise à Jour
```bash
# 1. Mise à jour sécurisée (sauvegarde automatique)
./scripts/update-images.sh
# 2. Validation post-mise à jour
./scripts/validate-deployment.sh
```
### Récupération d'Urgence
```bash
# 1. Arrêt des services
docker compose down
# 2. Restauration
./scripts/restore-data.sh <backup_file>
# 3. Redémarrage
./scripts/start.sh
```
## ⚠️ Notes Importantes
- **Persistance des données** : Tous les scripts préservent les données importantes
- **Sauvegardes automatiques** : Les mises à jour incluent une sauvegarde automatique
- **Bitcoin Signet** : Tous les scripts sont compatibles avec le réseau de test
- **Volumes Docker** : Garantissent la persistance des données entre redémarrages
- **Monitoring intégré** : Healthchecks et progression en temps réel
- **Sécurité** : Aucune clé privée ou secret n'est exposé dans les scripts
## 📝 Logs et Debugging
- **Logs des services** : `./logs/<service>/`
- **Collecte des logs** : `./scripts/collect-logs.sh`
- **Monitoring** : Grafana sur port 3005
- **Status API** : Port 3006
- **Validation** : `./scripts/validate-deployment.sh`