Tester duniter-v2s avec l'image docker de test (debug-sha-********)

Désormais l’intégration continue du projet Duniter-v2s publie une nouvelle image docker à chaque nouveau commit sur master (donc à chaque fois qu’une Merge Request est acceptée).

Cette image a pour tag debug-sha-********, où ******** correspond aux 8 premiers caractères du hash du commit git. Il vous est ainsi possible de tester duniter-v2s à n’importe-quelle version du code sans avoir besoin de le compiler vous-même.

Attention: Il s’agit d’un build en mode debug (non-optimisé), cette image est utile pour les testeurs, et pour ceux qui ont besoin d’expérimenter l’API RPC (les développeurs des clients par exemple), et tous ceux qui veulent bidouiller :slight_smile:

Une telle image ne devra évidemment pas être utilisée en production, ni même par les membres forgerons de la 1ère monnaie de test pérenne quand nous l’aurons lancée.

@pini travaille sur une image docker plus propre, et compilée en mode release, qui elle servira pour la production et pour les membres forgerons.

Voici par exemple comment utiliser l’image de test sur le commit c5827302 :

  1. Lancez la commande suivante dans un terminal:
docker run -it -p9944:9944 --name duniter-v2s duniter/duniter-v2s:debug-sha-c5827302
  1. Puis ouvrez l’url suivante dans votre navigateur:
    https://polkadot.js.org/apps/?rpc=ws%3A%2F%2F127.0.0.1%3A9944

Et voila :smiley:

4 Likes

J’ai essayé en clonant le dépôt puis un docker-compose up -d mais ça ne marche pas.
Par contre, avec ta commande docker run ... ça marche !
J’ai fait quelques tests, créé un utilisateur et fait des transactions. Nickel !

J’ai installé Hydra, mais je n’arrive pas à le configurer correctement.
Je continu à bidouiller…

1 Like

Le docker compose c’était un fichier présent dans le template substrate sur lequel je me suis basé, il n’est évidemment pas fonctionnel, je l’ai supprimé, @Pini à fait un docker-compose que je viens de merger mais pour qu’il fonctionne sans avoir à compiler il faut que j’utilise son Dockerfile dans la CI

Utilise tu bien cette doc la : Install Hydra | v3 | hydra ?

Quelques améliorations concernant la Dockerisation (merci @Pini ):

  1. Désormais il n’est plus nécessaire d’ajouter les options --dev et --ws-external, un script entrypoint les ajoutent par défaut (comportement modifiable par des variables d’environnement).
  2. Désormais il est possible de faire un docker-compose up -d à la racine du dépôt, et ça lancera un nœud de dev fonctionel (cc @ManUtopiK )
  3. Désormais, duniter-v2s est lancé avec l’utilisateur duniter qui n’a pas les droits root (avant c’était lancé en root).

J’ai mis à jour le 1er post de ce fil et ajouté ces informations dans le README du dépôt.

5 Likes

Une fois qu’on a un noeud en service, comment fait-on pour qu’il interagisse avec les autres noeuds ?

Pour le moment ce n’est pas encore possible

Depuis quelques semaines j’ai un noeud qui tourne en permanence via Docker. Je le mets à jour régulièrement à partir de la branche master du dépôt git, et il est accessible via polkadot.js.org.

Si des gens veulent jouer avec, je peux transmettre le nom de l’instance en MP. J’hésite à le mettre en clair ici car je ne maîtrise pas bien les conséquences en terme de sécu, même si j’intuite que ça devrait être limité vu que c’est du Docker et qu’il s’agit d’une instance jetable complètement réinitialisée à chaque mise à jour.

Il ne faut surtout pas le mettre en clair car la config en mode dev utilise des comptes de tests (Alice, Bob, etc) dont les clés privées sont hardcodées et connues de tous.

Pour le moment aucun nœud ne doit être public, il faut attendre que l’on lance une 1ère monnaie de test !

Quand je tape la commande :

docker image pull duniter/duniter-v2s

il cherche le tag latest, mais ne trouve pas le manifest.

Du coup je suis obligé d’aller sur le hub et regarder le tag debug-sha-**** le plus récent à récupérer pour me mettre à jour.
Ne pourrais-t-on pas tagger la dernière version de l’image avec le tag latest ?

Bonjour,
je suis arrivé facilement à lancer un noeud, celui d’Alice visiblement, mais je ne comprends pas comment lancer un noeud autre ? Le miens toto par exemple ?
Amicalement. :slight_smile:

Oui on peut, mais plutot debug-latest car latest est censé pointer la dernière version stable, sentez-vous libre de soumetter une PR au niveau de la gitlab CI pour ça :slight_smile:

C’est trop tôt pour faire ça, j’expliquerai ça quand on aura lancé la 1ère monnaie de test. Pour le moment seul ceux qui veulent expérimenter l’api RPC ou travailler sur duniters-squid ont besoin d’un nœud local :slight_smile:

2 Likes