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