consensys.teku

Rol de Ansible: Teku

Descripción

Rol de Ansible que instalará, configurará y ejecutará Teku: un cliente empresarial Java para Ethereum 2.

Tabla de Contenidos

Plataformas Soportadas

* MacOS
* Debian
* Ubuntu
* Redhat (CentOS/Fedora)
* Amazon

Dependencias

  • JDK 11 o superior

Variables del Rol:

Todas las variables que se pueden sobrescribir están almacenadas en el archivo defaults/main.yml. En general, estas variables son opciones de configuración. Por favor, consulta la documentación de Teku para más información.

Nombre Valor Predeterminado Descripción
teku_version sin establecer REQUERIDO Versión de Teku a instalar y ejecutar. Todas las versiones disponibles están listadas en nuestra página de lanzamientos
teku_user teku Usuario de Teku
teku_group teku Grupo de Teku
teku_download_url https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz Archivo tar.gz para descargar. Puedes usar esto si necesitas obtener Teku de una ubicación personalizada, como un repositorio interno.
teku_install_dir /opt/teku Ruta donde se instalará
teku_config_dir /etc/teku Ruta para la configuración predeterminada
teku_data_dir /opt/teku/data Ruta para el directorio de datos
teku_log_dir /var/log/teku Ruta para el directorio de registros
teku_log_filename {{ teku_log_dir }}/teku.log Ruta que contiene la ubicación (relativa o absoluta) y el nombre del archivo de registro
teku_profile_file /etc/profile.d/teku-path.sh Ruta para permitir cargar Teku en el PATH del sistema
teku_managed_service true Habilita un servicio systemd (o launchd si está en Darwin)
teku_launchd_dir /Library/LaunchAgents El directorio launchd predeterminado
teku_systemd_dir /etc/systemd/system/ El directorio systemd predeterminado
teku_systemd_state restarted La opción predeterminada para el estado del servicio systemd
teku_output_transition_dir /tmp/teku
teku_node_private_key_file ""
teku_network minimal Configuración de red predefinida
teku_host_ip ""
teku_p2p_enabled True Habilita o deshabilita toda la comunicación P2P
teku_p2p_interface 0.0.0.0 Especifica la interfaz de red en la que el nodo escucha para comunicación P2P
teku_p2p_port 9000 Especifica los puertos de escucha P2P (UDP y TCP)
teku_p2p_advertised_port 9000 El puerto P2P publicitado
teku_p2p_discovery_enabled True Habilita o deshabilita el descubrimiento de pares P2P
teku_interop_genesis_time 0
teku_interop_start_state ""
teku_interop_owned_validator_start_index 0
teku_interop_owned_validator_count 64
teku_interop_number_of_validators 64
teku_interop_enabled False
teku_validators_key_file "" Ruta al archivo en formato YAML para cargar claves de validador sin cifrar
teku_deposit_mode normal
teku_deposit_input_file ""
teku_deposit_number_validators 64
teku_deposit_contract_address 0x Dirección Eth1 del contrato de depósito
teku_deposit_eth1_endpoint "" URL JSON-RPC del nodo Eth1
teku_metrics_enabled True Establecer en verdadero para habilitar el exportador de métricas
teku_metrics_interface 0.0.0.0
teku_metrics_port 8008 Puerto de métricas cuando se despliega como monolito
teku_beacon_metrics_port 8008 Puerto de métricas del servicio de faro cuando se despliega como independiente
teku_validator_metrics_port 8009 Puerto de métricas del servicio de validador cuando se despliega como independiente
teku_metrics_categories [] (Todas las categorías habilitadas) Categorías para las que se deben rastrear métricas
teku_data_path /data Usar la misma carpeta tanto para el servicio de validador como para el de faro en modo independiente
teku_data_storage_mode prune Establecer la estrategia para manejar datos históricos de la cadena
teku_beacon_rest_api_port 5051
teku_beacon_rest_api_docs_enabled False
teku_beacon_rest_api_enabled True Habilitar el servicio de API REST
teku_beacon_rest_api_interface 127.0.0.1 Interfaz para el servicio de API REST
teku_beacon_rest_api_host_allowlist ["*"] Lista de permitidos para el servicio de API REST
teku_cmdline_args []
teku_cmdline_args_beacon teku_cmdline_args Solo aplicable en modo independiente. Permite establecer valores específicos del faro
teku_cmdline_args_validator teku_cmdline_args Solo aplicable en modo independiente. Permite establecer valores específicos del validador
teku_env_opts []
teku_env_opts_beacon teku_env_opts Solo aplicable en modo independiente. Permite establecer valores específicos del faro
teku_env_opts_validator teku_env_opts Solo aplicable en modo independiente. Permite establecer valores específicos del validador
teku_standalone_validator False Ejecutar el validador en modo independiente
teku_beacon_enabled True Si se debe desplegar el nodo faro

Lista de variables que no están definidas con valores predeterminados en el rol de Ansible. Sin embargo, si estas variables se establecen a través de la línea de comando, se configurarán en el archivo de configuración de Teku.

Nombre Parámetro del Archivo de Configuración Descripción
teku_data_beacon_path data-beacon-path Ruta a los datos del faro
teku_data_storage_archive_frequency data-storage-archive-frequency Establece la frecuencia, en bloques, en la que se almacenan estados finalizados en disco
teku_data_validator_path data-validator-path Ruta a los datos del cliente validador
teku_ee_endpoint ee-endpoint URL del punto de conexión del motor de ejecución
teku_ee_jwt_secret_file ee-jwt-secret-file Archivo para leer el secreto de autenticación JWT del motor de ejecución
teku_log_level logging Niveles de verbosidad de los registros: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
teku_log_validator_duties log-include-validator-duties-enabled Si se registran eventos cuando los validadores realizan tareas
teku_p2p_discovery_bootnodes p2p-discovery-bootnodes Lista de ENRs de los nodos de arranque ej: ['enr:-enr-string','enr:-enr-string']
teku_p2p_peer_lower_bound p2p-peer-lower-bound Límite inferior en el número objetivo de pares
teku_p2p_peer_upper_bound p2p-peer-upper-bound Límite superior en el número objetivo de pares
teku_p2p_static_peers p2p-static-peers Pares estáticos ej: ['peer1-address','peer2-address']
teku_p2p_subscribe_all_subnets_enabled p2p-subscribe-all-subnets-enabled Verdadero/Falso
teku_validators_external_signer_public_keys validators-external-signer-public-keys La lista de claves públicas de firmantes externos ej: ['key1','key2']
teku_validators_external_signer_timeout validators-external-signer-timeout Tiempo de espera (en milisegundos) para el servicio de firma externa
teku_validators_external_signer_url validators-external-signer-url URL para el servicio de firma externa
teku_validators_proposer_default_fee_recipient validators-proposer-default-fee-recipient Destinatario de tarifa predeterminado a usar al proponer bloques post-fusión
teku_validators_proposer_config validators-proposer-config URL remota o ruta de archivo local para cargar la configuración del proponente
teku_validators_proposer_config_refresh_enabled validators-proposer-config-refresh-enabled Si se debe actualizar periódicamente la configuración del proponente
teku_validators_graffiti validators-graffiti Graffiti para incluir durante la creación de bloques (se convierte en bytes y se ajusta a Bytes32)
teku_validators_keystore_locking_enabled validators-keystore-locking-enabled Habilitar el bloqueo de archivos de claves de validador (Valores válidos: Verdadero, Falso)
teku_validators_performance_tracking_enabled validators-performance-tracking-enabled Habilitar el seguimiento y registro del rendimiento del validador (Valores válidos: Verdadero, Falso)
teku_validators_early_attestations_enabled validators-early-attestations-enabled Habilitar la producción de atestaciones tempranas (Valores válidos: Verdadero, Falso)
teku_ws_checkpoint ws-checkpoint Un punto de control reciente dentro del período de subjetividad débil. Formato :
teku_beacon_node_api_endpoints beacon-node-api-endpoints Array. Los puntos de conexión de API del nodo faro a los que el cliente validador debe conectarse.

Modo Independiente

Es posible configurar Teku para ejecutarse en modo monolítico (tanto el faro como el validador se ejecutan en el mismo proceso) o en modo independiente (el faro y el validador se ejecutan en su propio proceso). El modo independiente ejecuta el servicio de faro en su propio proceso y el servicio de validador en su propio proceso. Se utiliza el nombre del servicio systemd teku para el servicio de faro y teku-validator para el servicio de validador cuando se ejecuta en modo independiente. El rol de Ansible por defecto ejecuta Teku en modo monolítico y el comportamiento se puede controlar con la variable teku_standalone_validator=False/True.

Ejemplo de Playbook

  1. Configuración predeterminada: Instala el rol desde galaxy
ansible-galaxy install pegasyseng.teku

Crea un requirements.yml con lo siguiente: Reemplaza x.y.z a continuación con la versión que desees utilizar de la página de lanzamientos de Teku.

---
- hosts: localhost
  connection: local
  force_handlers: True

  roles:
  - role: pegasyseng.teku
    vars:
      teku_version: x.y.z

Ejecuta con ansible-playbook:

ansible-playbook -v /ruta/a/requirements.yml
  1. Instalar a través de github
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git

Crea un requirements.yml con lo siguiente: Reemplaza x.y.z a continuación con la versión que desees utilizar de la página de lanzamientos de Teku.

---
- hosts: localhost
  connection: local
  force_handlers: True

  roles:
  - role: ansible-role-teku
    vars:
      teku_version: x.y.z

Ejecuta con ansible-playbook:

ansible-playbook -v /ruta/a/requirements.yml

Licencia

Apache

Información del Autor

PegaSysEng, 2020

Acerca del proyecto

Teku is an open-source java enterprise ethereum 2 client

Instalar
ansible-galaxy install consensys.teku
Licencia
Unknown
Descargas
6.2k
Propietario
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.