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
- Dependencias
- Variables del Rol
- Ejemplo de Playbook
- Licencia
- Información del Autor
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
- 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
- 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
Teku is an open-source java enterprise ethereum 2 client
ansible-galaxy install consensys.teku