ecadlabs.tezos_node
Nom du rôle
Ce rôle Ansible vise à rendre le déploiement d'un nœud Tezos rapide et facile pour les utilisateurs d'Ansible.
Le rôle est fortement paramétré, permettant aux utilisateurs de déployer des nœuds pour différents réseaux Tezos (mainnet/ithacanet/jakartanet/etc.) et divers protocoles économiques pour soutenir les transitions de blocs.
Deux stratégies de démarrage sont prises en charge, à savoir la synchronisation depuis le début ou l'importation d'un instantané pour un démarrage rapide.
Le rôle a été testé avec la version 13 du nœud Tezos.
Ce rôle ne gère aucune clé Tezos
Exigences
Docker (Testé sur Debian Buster)
Installation
ansible-galaxy install ecadlabs.tezos_node
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml
) :
Le réseau Tezos que vous souhaitez provisionner. Cette variable n'a pas de valeur par défaut, vous devez donc la définir. En général, les valeurs sont jakartanet
ou mainnet
. La valeur tezos_network
est utilisée à plusieurs fins : nom des conteneurs Docker, nom d'un réseau Docker, sélection du réseau Tezos à utiliser et validation que les imports d'instantanés proviennent du bon réseau.
tezos_network:
L'emplacement où le répertoire de données des nœuds Tezos résidera sur l'hôte. Ce rôle utilise des montages Docker au lieu de volumes Docker.
node_data_dir: "/srv/tezos/{{ network_name }}_node"
L'emplacement sur l'hôte où la configuration du client Tezos résidera. Ce répertoire contient la configuration du client et les clés utilisées par la commande tezos-client
.
client_data_dir: "/srv/tezos/{{ network_name }}_client"
L'image Docker Tezos à utiliser.
octez_version: v13.0
Le mode historique dans lequel vous souhaitez faire fonctionner votre nœud. Les options sont archive, complet ou roulant.
history_mode: full
Fournir une URL d'instantané contrôle comment votre nœud démarrera. Spécifiez un snapshot_url
pour que le rôle télécharge et importe un instantané. Comme il existe différents instantanés pour chaque mode historique, cet instantané doit avoir le même mode historique que le nœud. Si la valeur fournie commence par http://
ou https://
, le rôle téléchargera un instantané à partir de cette URL. Si la valeur fournie est un chemin de fichier Unix tel que /var/tmp/a_tezos_snapshot
, le rôle copiera l'instantané de la machine hôte Ansible vers la cible.
snapshot_url: https://mainnet.xtz-shots.io/rolling # Voir https://xtz-shots.io/
Le chemin ou l'URL vers le fichier d'instantané qui sera utilisé pour l'importation initiale de votre nœud. L'instantané sera téléchargé sur le système de fichiers de l'hôte cible et monté via un volume dans une image Docker à durée de vie limitée responsable du processus d'importation.
snapshot_tmp_file: /tmp/snapshot
Dépendances
Aucune (mais assurez-vous d'avoir Docker installé, geerlingguy.docker
fonctionne bien)
Exemple de playbook
Pour le mainnet :
- hosts: servers
roles:
- role: ecadlabs.tezos_node
snapshot_url: https://mainnet.xtz-shots.io/rolling # Voir https://xtz-shots.io/
history_mode: rolling
tezos_network: mainnet
snapshot_tmp_file: /tmp/snapshot
Licence
MIT
Informations sur l'auteur
Créé par les humains d'ECAD Labs Inc. https://ecadlabs.com
ansible-galaxy install ecadlabs.tezos_node