7.8 KiB
7.8 KiB
Prompt de Déploiement LeCoffre Node
🎯 Prompt pour l'Agent IA
Déploie l'architecture LeCoffre Node complète en respectant strictement les consignes de déploiement.
Arrete et nettoie tous les services, images, tests, commandes, éditions... encore actives avant de relancer proprement.
## Contexte obligatoire
- Consulte attentivement `IA_agents/context.md` pour le contexte technique
- Consulte attentivement `IA_agents/flux.md` pour l'architecture des services
- Consulte attentivement `IA_agents/deploy.md` pour les procédures détaillées
- Consulte attentivement `CI_TRIGGER_PROCESS.md` pour les CI détaillées
- Reste TOUJOURS sur la branche git "ext"
- Déclenche TOUJOURS les builds via CI avec des images docker tagées "ext"
- Corrige aussi les problèmes de code
## Objectifs de déploiement
1. Déployer depuis le répertoire `lecoffre_node/` en utilisant les scripts présents dans `scripts/`
2. Assurer que tous les services écoutent sur 0.0.0.0 et soient accessibles depuis l'extérieur via le nom de domaine
3. Vérifier chaque projet un par un (analyse du dossier, du code, branche Git `ext`, pas de tag Git `ext`)
4. Corriger toutes les erreurs sans désactivation, simplification ou contournement
## Procédure de déploiement
A mettre dans ta TODO (vérifie que tout est fait à la fin):
### Phase 1: Vérifications initiales
- [ ] Vérifier que le dépôt distant est public (si possible)
- [ ] Vérifier l'utilisation des clés SSH pour le déploiement Git
- [ ] Vérifier que la branche courante est bien `ext`
- [ ] Mettre à jour les dépendances et les langages
- [ ] 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
- [ ] Mettre à jour la documentation
- [ ] Mettre à jour les tests
- [ ] Mettre à jour les scripts
- [ ] Vérifier les fichiers .gitignore, .dockerignore, .cursorignore
### Phase 3: Synchronisation
- [ ] Synchroniser les configurations dans `lecoffre_node/conf`
- [ ] Synchroniser les logs dans `lecoffre_node/logs`
- [ ] Brancher Grafana pour un dashboard par projet
### Phase 4: Sécurité et conformité
- [ ] Vérifier que le code ne fournit pas de données personnelles ou sensibles
- [ ] Vérifier qu'il n'y a pas de failles de sécurité
### Phase 5: Gestion Git
- [ ] Pousser toutes les modifications sur la branche Git `ext`
- [ ] Supprimer les fichiers distants non suivis par Git
### Phase 6: Tests et corrections
- [ ] Analyser les logs
- [ ] Corriger toutes les erreurs (sans désactivation, simplification, contournement)
- [ ] Tester
- [ ] Analyser à nouveau les logs
- [ ] Vérifier que les logs ne contiennent pas de données sensibles
- [ ] Corriger à nouveau si nécessaire (jusqu'à l'absence totale d'erreurs)
### Phase 7: Déploiement des services
- [ ] Lancer tous les services de `lecoffre_node/docker-compose.yml` via les scripts
- [ ] Utiliser la configuration centralisée: `docker compose --env-file .env.master up`
- [ ] Corriger toutes les erreurs rencontrées
- [ ] Tester la connectivité externe
### Phase 8: Monitoring et validation
- [ ] S'assurer que Grafana est à jour
- [ ] Synchroniser la configuration Nginx et relancer le serveur
- [ ] Vérifier que Loki, Promtail et Grafana sont OK avec des dashboards alimentés
- [ ] Vérifier qu'il n'y a aucun conflit de ports
- [ ] Tester toutes les URLs publiques depuis l'extérieur
- [ ] Tester spécifiquement les WebSockets et services HTTP(S)
- [ ] Vérifier que tous les imports sont présents
## Variables d'environnement centralisées (2024-09-21)
Utilise TOUJOURS le fichier `.env.master` centralisé :
```bash
docker compose --env-file .env.master up -d
Variables disponibles :
- SDK_RELAY_* : Configuration du service relay
- SIGNER_* : Configuration du service signer
- VITE_* : Configuration des applications frontend
- IDNOT_* : Configuration des APIs notaires
- STRIPE_* : Configuration des paiements
- MAILCHIMP_* : Configuration des emails
- OVH_* : Configuration des SMS
Architecture Docker optimisée
- Base standardisée :
debian:bookworm-slim
pour tous les services - Packages minimaux : ca-certificates, curl, jq, git
- Utilisateurs non-root : appuser (UID 1000)
- Images optimisées : 120-300MB selon le service
- Tag Docker :
ext
pour tous les déploiements
Tests fonctionnels obligatoires
- Login notaire : Tenter un login notaire avec redirection IdNot et validation dans l'iframe
- Connexion Stripe : Arriver connecté après vérification du compte Stripe
- Création dossier : Créer un dossier en tant que notaire et ajouter un client
- Email Mailchimp : Vérifier l'envoi du lien par email
- Login client : Se connecter avec le lien email et confirmer le code SMS (API OVH)
- Accès dossier : Accéder au dossier en tant que client
Tests techniques obligatoires
- Page de statut : https://dev4.4nkweb.com/status/
- Dashboard Grafana : https://dev4.4nkweb.com/grafana/
- Connectivité WebSocket : Test spécifique des WebSockets
- Services HTTP(S) : Test spécifique des services HTTP(S)
Commandes essentielles
# Démarrage avec variables centralisées
docker compose --env-file .env.master up -d
# Test de configuration
./scripts/test-env-config.sh
# Test monitoring
./scripts/test-monitoring.sh
# Synchronisation config
./scripts/sync-monitoring-config.sh
Points d'attention critiques
- N'attends pas infiniment le résultat des curls
- Si le terminal est interrompu, analyse la sortie
- Teste TOUTES les URLs publiques depuis l'extérieur avant de dire qu'elles sont OK
- Vérifie spécifiquement les WebSockets et services HTTP(S)
- Vérifie que tous les imports sont présents
- Déclenche les builds via CI
- Vérifie les droits et résultats d'écriture sur les fichiers de conf Nginx et Bitcoin
Ordre de démarrage des services (CRITIQUE)
- tor
- bitcoin
- blindbit
- sdk_storage
- sdk_relay
- sdk_signer
- ihm_client
- lecoffre-back
- lecoffre-front
- loki
- promtail
- grafana
Validation finale
- Tous les services démarrés et fonctionnels
- Toutes les URLs publiques accessibles depuis l'extérieur
- Tests fonctionnels validés
- Tests techniques validés
- Monitoring opérationnel
- Aucune erreur dans les logs
- Configuration centralisée opérationnelle
En cas de problème
- Arrête-toi pour corriger chaque problème rencontré avant de passer à la suite
- Analyse les logs en détail
- Corrige sans désactivation, simplification ou contournement
- Documente toute nouvelle connaissance technique ou fonctionnelle acquise
- Mets à jour la documentation avec le retour d'expérience
Déploie maintenant l'architecture LeCoffre Node complète en suivant cette procédure étape par étape.
---
## 📋 Instructions d'utilisation
### Pour l'agent IA
1. Copie le prompt ci-dessus
2. Colle-le dans votre conversation avec l'agent IA
3. L'agent suivra automatiquement la procédure de déploiement
### Pour l'utilisateur
1. Assure-toi que tous les prérequis sont remplis
2. Vérifie que la branche `ext` est active
3. Lance le prompt de déploiement
4. Suis l'exécution étape par étape
## 🔧 Personnalisation
Ce prompt peut être adapté selon les besoins :
- Modifier les phases selon l'environnement
- Ajouter des tests spécifiques
- Personnaliser les commandes selon l'infrastructure
## 📊 Suivi
Le prompt inclut des cases à cocher pour suivre l'avancement :
- [ ] Phase 1: Vérifications initiales
- [ ] Phase 2: Construction et optimisation
- [ ] Phase 3: Synchronisation
- [ ] Phase 4: Sécurité et conformité
- [ ] Phase 5: Gestion Git
- [ ] Phase 6: Tests et corrections
- [ ] Phase 7: Déploiement des services
- [ ] Phase 8: Monitoring et validation
---
**Note** : Ce prompt est basé sur `deploy.md` et respecte toutes les consignes de déploiement du projet LeCoffre Node.