4NK_env/docs/context.md

119 lines
5.7 KiB
Markdown

# Contexte
Le site est sur @https://dev4.4nkweb.com/lecoffre (`lecoffre_front`).
Il sera redirigé au login des notaires vers un site qui redirige vers @http://dev3.4nkweb.com/ qui sera redirigé vers @https://dev4.4nkweb.com/lecoffre avec l'ouverture de l'iframe @https://dev4.4nkweb.com/ (`ihm_client`).
Fonctionnellement, le test est sur navigateur de :
* tenter un login () notaire dont la redirection IdNot (redirections et API notaires) et valider dans l'iframe et d'arriver connecté apres la vérification du compte Stripe (lecoffre-back-mini sur dev3.4nkweb.com).
* créer un compte dossier en tant que notaire en ajoutant un client ce qui enverra un lien par mail par mailshimp puis en tant que client me connecté avec le lien recçu par mail, confirmer le code sms (api ovh) et accéder à mon dossier.
Tehcniquement, le test est sur navigateur de :
* Vérifier la page de statut des services : @https://dev4.4nkweb.com/status/
* Vérifier les dashboard grafana @https://dev4.4nkweb.com/grafana/
---
## Dépendances
A déployer par **`lecoffre_node/`** :
- image: btcpayserver/tor:0.4.8.10 (pour synchro Bitcoin)
- image: git.4nkweb.com/4nk/bitcoin:latest (pour mainchain et signet custom)
- image: git.4nkweb.com/4nk/blindbit-oracle:dev (pour scan des blocs et détection des secrets dans les transaction silent payment)
- image: containrrr/watchtower (pour la surveillance et mise à jour automatique des images)
- image: grafana/grafana:latest (pour le monitoring des évènements)
- image: grafana/loki:latest
- grafana/promtail:latest
---
## Projets locaux avec Dockerfile
A déployer par **`lecoffre_node/`** (d'autres projets externes sont ne dépendance dans le `lecoffre_node/docker-compose.yml`):
### Configuration centralisée (2024-09-21)
**Variables d'environnement centralisées** : Toutes les configurations sont maintenant dans `lecoffre_node/.env.master`.
-**Configuration unique** : Plus de fichiers .env dispersés
-**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_storage/`** (stockage temporaire) - Debian + Rust
- **`ihm_client/`** (iframe dans les frontend des projets pour interactions avec les clés privés Bitcoin Silent Payment) - Debian + Node.js 20
- **`lecoffre-front/`** (frontend du projet lecoffre) - Debian + Node.js 19
### 🆕 Service additionnel (2025-10-01)
- **`4NK_certificator/`** (ancrage cryptographique des volumes sur Bitcoin mainnet)
- Port: 8082 (HTTP)
- Endpoints: `/health`, `/metrics`, `/api/v1/processes`, `/api/v1/anchors/verify`, `/api/v1/payments/{address}`
- Déploiement: compose dédié `lecoffre_node/docker-compose.certificator.yml`
- Confs/logs/data/backups: désormais centralisés sous `lecoffre_node/` (ex: `/home/debian/4NK_env/lecoffre_node/confs/...`, `/home/debian/4NK_env/lecoffre_node/logs/...`)
- Statut: MVP complet, repo `git.4nkweb.com/4nk/4NK_certificator`
### Architecture Docker
- **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
---
## Projets locaux sans Dockerfile
A vérifier **`lecoffre_node/`**:
- **`sdk_common/`** (coeur de la gestion des clés)
- **`sdk_client/`** (coeur de l'intégration du système de process)
- **`sdk-signer-client/`** (coeur de l'intégration du système de process pour l'intégration)
- **`lecoffre_node/miner/`** (miner de la blockchain de preuves -layer2 de bitcoin depuis un signet-) - **Maintenant avec Dockerfile optimisé**
- **`status-api`** (interface d'affichage des statuts des interfaces et des services)
### Note importante
Le **miner** a maintenant un Dockerfile optimisé avec Debian + Python 3.11 et fait partie des services avec Dockerfile.
---
## Environnement de développement 4NK_env (2024-09-21)
**Dépôt centralisé** : [https://git.4nkweb.com/4nk/4NK_env](https://git.4nkweb.com/4nk/4NK_env)
-**Tous les projets** : 4NK et LeCoffre intégrés comme sous-modules
-**Configuration centralisée** : Variables d'environnement dans `.env.master`
-**Scripts automatisés** : Tests et déploiement
-**Documentation IA** : Contexte complet pour les agents IA
-**Architecture autonome** : Docker master avec Nginx intégré
**Utilisation** :
```bash
# Cloner l'environnement complet
git clone --recursive https://git.4nkweb.com/4nk/4NK_env.git
cd 4NK_env
# Déployer avec configuration centralisée
cd lecoffre_node
docker compose --env-file .env.master up
```
---
Met à jour ce document si tu détectes des incohérences ou pose des questions pour confirmer.
Propose des améliorations dans un document lecoffre_node/IA_agents/todo.md.