ecadlabs.tezos_node
Nombre del Rol
Este Rol de Ansible tiene como objetivo hacer que el despliegue de un nodo de Tezos sea rápido y fácil para los usuarios de Ansible.
El rol está altamente parametrizado, lo que permite a los usuarios desplegar nodos para diferentes redes de Tezos (mainnet/ithacanet/jakartanet/etc.) y varios protocolos económicos para soportar transiciones de bloques.
Se admiten dos estrategias de arranque, a saber, sincronización desde el génesis o importación de un snapshot para un arranque rápido.
El rol ha sido probado con la versión 13 del nodo de Tezos.
Este rol no gestiona ninguna clave de Tezos
Requisitos
Docker (probado en Debian Buster)
Instalación
ansible-galaxy install ecadlabs.tezos_node
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
La red de Tezos que deseas provisionar. Esta variable no tiene un valor predeterminado, por lo que debes establecerla. Normalmente, los valores son jakartanet
o mainnet
. El valor tezos_network
se utiliza para varios propósitos: nombrar contenedores de Docker, nombrar una red de Docker, seleccionar qué red de Tezos usar, y validar que las importaciones de snapshots son de la red esperada.
tezos_network:
La ubicación donde residirá el directorio de datos del nodo de Tezos en el host. Este rol utiliza montajes de enlace de Docker en lugar de volúmenes de Docker.
node_data_dir: "/srv/tezos/{{ network_name }}_node"
La ubicación en el host donde residirá la configuración del cliente de Tezos. Este directorio contiene la configuración del cliente y las claves usadas por el comando tezos-client
.
client_data_dir: "/srv/tezos/{{ network_name }}_client"
La imagen de Docker de tezos que se utilizará.
octez_version: v13.0
El modo de historial en el que deseas operar tu nodo. Las opciones son archivo, completo o rodante.
history_mode: full
Proporcionar una URL de snapshot controla cómo va a arrancar tu nodo. Especifica un snapshot_url
para que el rol descargue e importe un snapshot. Dado que hay diferentes snapshots para cada modo de historial, este snapshot debe tener el mismo modo de historial que el nodo. Si el valor proporcionado comienza con http://
o https://
, el rol descargará un snapshot de esa URL. Si el valor proporcionado es una ruta de archivo de Unix como /var/tmp/a_tezos_snapshot
, el rol copiará el snapshot desde la máquina host de Ansible al destino.
snapshot_url: https://mainnet.xtz-shots.io/rolling # Ver https://xtz-shots.io/
La ruta o URL al archivo de snapshot que se utilizará para la importación inicial de tu nodo. El snapshot será descargado al sistema de archivos del host de destino y montado a través de un volumen en una imagen de Docker de corta duración responsable del proceso de importación.
snapshot_tmp_file: /tmp/snapshot
Dependencias
Ninguna (pero asegúrate de tener Docker instalado, geerlingguy.docker
funciona bien)
Ejemplo de Playbook
Para mainnet:
- hosts: servers
roles:
- role: ecadlabs.tezos_node
snapshot_url: https://mainnet.xtz-shots.io/rolling # Ver https://xtz-shots.io/
history_mode: rolling
tezos_network: mainnet
snapshot_tmp_file: /tmp/snapshot
Licencia
MIT
Información del Autor
Creado por los humanos de ECAD Labs Inc. https://ecadlabs.com
ansible-galaxy install ecadlabs.tezos_node