ci: docker_tag=ext
Ajout du prompt de déploiement automatisé: - prompt-deploy.md: Prompt complet pour l'agent IA - Procédure de déploiement en 8 phases détaillées - Contexte obligatoire avec références aux documents IA_agents/ - Variables d'environnement centralisées documentées - Architecture Docker optimisée incluse - Tests fonctionnels et techniques obligatoires - Commandes essentielles et points d'attention critiques - Ordre de démarrage des services et validation finale - Instructions d'utilisation pour l'agent IA Prompt prêt pour le déploiement automatisé de LeCoffre Node
This commit is contained in:
parent
ff62c7d257
commit
23b36b53cd
202
IA_agents/prompt-deploy.md
Normal file
202
IA_agents/prompt-deploy.md
Normal file
@ -0,0 +1,202 @@
|
||||
# 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.
|
||||
|
||||
## 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
|
||||
- Reste TOUJOURS sur la branche git "ext"
|
||||
- Déclenche TOUJOURS les builds via CI avec des images docker tagées "ext"
|
||||
|
||||
## 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
|
||||
|
||||
### 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
|
||||
1. **Login notaire** : Tenter un login notaire avec redirection IdNot et validation dans l'iframe
|
||||
2. **Connexion Stripe** : Arriver connecté après vérification du compte Stripe
|
||||
3. **Création dossier** : Créer un dossier en tant que notaire et ajouter un client
|
||||
4. **Email Mailchimp** : Vérifier l'envoi du lien par email
|
||||
5. **Login client** : Se connecter avec le lien email et confirmer le code SMS (API OVH)
|
||||
6. **Accès dossier** : Accéder au dossier en tant que client
|
||||
|
||||
## Tests techniques obligatoires
|
||||
1. **Page de statut** : https://dev4.4nkweb.com/status/
|
||||
2. **Dashboard Grafana** : https://dev4.4nkweb.com/grafana/
|
||||
3. **Connectivité WebSocket** : Test spécifique des WebSockets
|
||||
4. **Services HTTP(S)** : Test spécifique des services HTTP(S)
|
||||
|
||||
## Commandes essentielles
|
||||
```bash
|
||||
# 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)
|
||||
1. tor
|
||||
2. bitcoin
|
||||
3. blindbit
|
||||
4. sdk_storage
|
||||
5. sdk_relay
|
||||
6. sdk_signer
|
||||
7. ihm_client
|
||||
8. lecoffre-back
|
||||
9. lecoffre-front
|
||||
10. loki
|
||||
11. promtail
|
||||
12. 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
|
||||
1. Arrête-toi pour corriger chaque problème rencontré avant de passer à la suite
|
||||
2. Analyse les logs en détail
|
||||
3. Corrige sans désactivation, simplification ou contournement
|
||||
4. Documente toute nouvelle connaissance technique ou fonctionnelle acquise
|
||||
5. 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.
|
Loading…
x
Reference in New Issue
Block a user