From 31db1ff731fc5ce3b06aaf8359e64d50c1da8d29 Mon Sep 17 00:00:00 2001 From: 4NK Dev Date: Sat, 20 Sep 2025 10:48:58 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20Ajout=20de=20la=20documentation=20et=20?= =?UTF-8?q?des=20r=C3=A8gles=20Cursor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Ajout de .cursorrules pour les règles de développement - Ajout de docs/CONFIGURATION.md avec la configuration du service - Documentation des problèmes connus et solutions --- .cursorrules | 63 +++++++++++++++++++++++++++++++++++++++++++ docs/CONFIGURATION.md | 63 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 .cursorrules create mode 100644 docs/CONFIGURATION.md diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 0000000..e411ba3 --- /dev/null +++ b/.cursorrules @@ -0,0 +1,63 @@ +# Règles Cursor pour SDK Relay + +## Configuration du Service + +### Dépendances +- **sdk_common** : Doit être cloné depuis la branche `dev` +- **blindbit-oracle** : Service oracle local +- **bitcoin-signet** : Nœud Bitcoin Signet + +### Dockerfile +```dockerfile +# Cloner sdk_common depuis la branche dev (OBLIGATOIRE) +RUN --mount=type=ssh git clone -b dev ssh://git@git.4nkweb.com/4nk/sdk_common.git /sdk_common +``` + +### Configuration +- **Fichier** : `sdk_relay.conf` +- **blindbit_url** : `http://blindbit-oracle:8000` + +### Variables d'Environnement +```yaml +environment: + - SDK_RELAY_SCAN_TIMEOUT=300 + - SDK_RELAY_STARTUP_MODE=async +``` + +### Ports +- **8090** : WebSocket server +- **8091** : Health server + +### Healthcheck +```yaml +healthcheck: + test: ["CMD", "sh", "-c", "curl -f http://localhost:8091/ | grep -q '\"status\":\"ok\"'"] + interval: 15s + timeout: 10s + retries: 5 + start_period: 60s +``` + +## Règles de Développement + +### Build CI +- Le CI doit cloner sdk_common depuis Git (pas de COPY local) +- Utiliser la branche `dev` de sdk_common +- Vérifier que toutes les features nécessaires sont disponibles + +### Problèmes Connus +1. **Scan bloquant** : Le service peut se bloquer pendant le scan des blocs + - Solution : Modifier `last_scan` dans `/home/bitcoin/.4nk/default` + - Solution : Utiliser des healthchecks avec start_period approprié + +2. **Build context** : Le CI échoue si sdk_common n'est pas dans le contexte + - Solution : Cloner depuis Git au lieu de COPY local + +### Documentation +- Mettre à jour docs/CONFIGURATION.md après chaque modification +- Documenter les problèmes résolus et leurs solutions +- Conserver l'historique des changements + +## Historique +- Créé le 20/09/2025 +- Configuration SDK Relay diff --git a/docs/CONFIGURATION.md b/docs/CONFIGURATION.md new file mode 100644 index 0000000..5520b3c --- /dev/null +++ b/docs/CONFIGURATION.md @@ -0,0 +1,63 @@ +# Configuration SDK Relay + +## Vue d'ensemble +Le SDK Relay est un service qui fait le pont entre les clients et les services blockchain, notamment blindbit-oracle. + +## Configuration Actuelle + +### Fichier de Configuration +- **Fichier** : `sdk_relay.conf` +- **Localisation** : `/home/debian/lecoffre_node/relay/sdk_relay.conf` + +### Paramètres Principaux +```ini +blindbit_url="http://blindbit-oracle:8000" +``` + +### Variables d'Environnement Docker +```yaml +environment: + - SDK_RELAY_SCAN_TIMEOUT=300 + - SDK_RELAY_STARTUP_MODE=async +``` + +## Problèmes Résolus + +### 1. Problème de Build CI +**Problème** : Le CI échouait car sdk_common n'était pas trouvé dans le contexte de build. + +**Solution** : Modification du Dockerfile pour cloner sdk_common depuis la branche dev : +```dockerfile +RUN --mount=type=ssh git clone -b dev ssh://git@git.4nkweb.com/4nk/sdk_common.git /sdk_common +``` + +### 2. Problème de Scan Bloquant +**Problème** : Le service sdk_relay se bloquait pendant le scan des blocs, empêchant le démarrage des serveurs WebSocket et de santé. + +**Solution** : +- Modification du `last_scan` dans `/home/bitcoin/.4nk/default` pour éviter les scans trop longs +- Amélioration des healthchecks dans docker-compose.yml +- Ajout de variables d'environnement pour le timeout et le mode async + +## Healthcheck +```yaml +healthcheck: + test: ["CMD", "sh", "-c", "curl -f http://localhost:8091/ | grep -q '\"status\":\"ok\"'"] + interval: 15s + timeout: 10s + retries: 5 + start_period: 60s +``` + +## Ports +- **8090** : WebSocket server +- **8091** : Health server + +## Dépendances +- **blindbit-oracle** : Service oracle pour les données blockchain +- **bitcoin-signet** : Nœud Bitcoin Signet + +## Historique des Modifications +- 20/09/2025 : Correction du build CI avec clonage de sdk_common +- 20/09/2025 : Résolution du problème de scan bloquant +- 20/09/2025 : Amélioration des healthchecks et de la séquence de démarrage