docs: Ajout de la documentation et des règles Cursor
All checks were successful
build-and-push-ext / build_push (push) Successful in 7s
All checks were successful
build-and-push-ext / build_push (push) Successful in 7s
- 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
This commit is contained in:
parent
6586e0bb2f
commit
31db1ff731
63
.cursorrules
Normal file
63
.cursorrules
Normal file
@ -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
|
63
docs/CONFIGURATION.md
Normal file
63
docs/CONFIGURATION.md
Normal file
@ -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
|
Loading…
x
Reference in New Issue
Block a user