4NK_env/docs/sdk_relay/VALIDATION.md
LeCoffre Deployment c0b3bda6da auto_clea
2025-09-25 15:25:14 +00:00

41 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Validation opérationnelle
### Prérequis
- Image `git.4nkweb.com/4nk/sdk_relay:<tag>` construite par la CI (workflow `build-and-push-ext`).
- Fichier de configuration accessible dans le conteneur à `/home/bitcoin/.conf` avec au minimum: `core_url`, `ws_url`, `wallet_name`, `network`, `blindbit_url`, `zmq_url`.
- Ports hôtes libres: `8090` (WebSocket), `8091` (HTTP /health).
### Démarrage / Redémarrage du service
1. Arrêter linstance en cours (si gérée via Docker/compose parent), puis démarrer avec la nouvelle image taggée `ext` (ou le tag CI calculé) en veillant à monter les volumes `/home/bitcoin/.4nk` et `/home/bitcoin/.bitcoin`.
2. Vérifier les logs de démarrage et la ligne: `Health server listening on port 8091`.
### Tests de santé
- HTTP: `curl -sS http://localhost:8091/health` doit renvoyer `{"status":"ok"}` avec un code 200.
### Tests WebSocket
- Connexion: ouvrir un client vers `ws://localhost:8090` (adresse selon `ws_url`). La poignée de main doit réussir.
- Réception initiale: un message de type Handshake (avec adresse SP, membres et processus) est diffusé à la connexion.
- Diffusion: émettre un message valide (selon protocole `sdk_common`) et vérifier quil est redistribué selon le `BroadcastType`.
### Parcours fonctionnel complet
1. IdNot: initialiser un identifiant et vérifier la persistance locale dans le volume `.4nk`.
2. iframe: intégrer le client (IHM) et établir la communication vers le WebSocket du `sdk_relay`.
3. Ajout de service: exécuter le flux dajout et confirmer la mise à jour de létat et la diffusion côté WS.
### Attendus CI/CD
- La CI construit automatiquement limage incluant lendpoint `/health` et pousse avec le tag calculé (préfixe commit `ci: docker_tag=...`, sinon `dev-test`).
- Une fois limage disponible (tag `ext` si prévu), redémarrer le service pour résoudre les problèmes de connexion.
### Dépannage
- Port occupé: vérifier quaucun service nécoute déjà sur `8090/8091`.
- Conf manquante/invalide: le binaire échoue avec `Failed to find conf file` ou erreurs `No "..."`; corriger `/home/bitcoin/.conf`.
- ZMQ/Blindbit: si pas joignables, les fonctionnalités associées peuvent être dégradées; le `/health` reste OK si le service tourne.
- Volumes: en environnement Windows, vérifier les permissions et lutilisateur `bitcoin`.