consensys.teku

Rôle Ansible : Teku

Description

Rôle Ansible qui installera, configurera et exécutera Teku : un client Ethereum 2 en Java pour entreprises.

Table des matières

Plateformes supportées

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

Dépendances

  • JDK 11 ou supérieur

Variables du rôle :

Toutes les variables qui peuvent être écrasées sont stockées dans le fichier defaults/main.yml. En général, ces variables sont des options de configuration. Veuillez vous référer à la documentation de Teku docs pour plus d'informations.

Nom Valeur par défaut Description
teku_version non défini REQUIS Version de Teku à installer et à exécuter. Toutes les versions disponibles sont listées sur la page des releases de Teku.
teku_user teku Utilisateur Teku
teku_group teku Groupe Teku
teku_download_url https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz Fichier tar.gz de téléchargement utilisé. Vous pouvez l'utiliser si vous devez récupérer Teku d'un emplacement personnalisé tel qu'un dépôt interne.
teku_install_dir /opt/teku Chemin d'installation
teku_config_dir /etc/teku Chemin de la configuration par défaut
teku_data_dir /opt/teku/data Chemin du répertoire de données
teku_log_dir /var/log/teku Chemin du répertoire des journaux
teku_log_filename {{ teku_log_dir }}/teku.log Chemin contenant l'emplacement (relatif ou absolu) et le nom du fichier journal
teku_profile_file /etc/profile.d/teku-path.sh Chemin pour permettre le chargement de Teku dans le chemin système
teku_managed_service true Active un service systemd (ou launchd sur Darwin)
teku_launchd_dir /Library/LaunchAgents Le répertoire launchd par défaut
teku_systemd_dir /etc/systemd/system/ Le répertoire systemd par défaut
teku_systemd_state restarted L'option par défaut pour l'état du service systemd
teku_output_transition_dir /tmp/teku
teku_node_private_key_file ""
teku_network minimal Configuration réseau prédéfinie
teku_host_ip ""
teku_p2p_enabled True Active ou désactive toute communication P2P
teku_p2p_interface 0.0.0.0 Spécifie l'interface réseau sur laquelle le nœud écoute pour la communication P2P
teku_p2p_port 9000 Spécifie les ports d'écoute P2P (UDP et TCP)
teku_p2p_advertised_port 9000 Le port P2P annoncé
teku_p2p_discovery_enabled True Active ou désactive la découverte des pairs 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 "" Chemin vers le fichier au format YAML pour charger les clés de validateurs non chiffrées
teku_deposit_mode normal
teku_deposit_input_file ""
teku_deposit_number_validators 64
teku_deposit_contract_address 0x Adresse Eth1 du contrat de dépôt
teku_deposit_eth1_endpoint "" URL JSON-RPC du nœud Eth1
teku_metrics_enabled True Définir sur true pour activer l'exportateur de métriques
teku_metrics_interface 0.0.0.0
teku_metrics_port 8008 Port de métrique lorsqu'il est déployé en monolithe
teku_beacon_metrics_port 8008 Port de métrique du service Beacon lorsqu'il est déployé en autonome
teku_validator_metrics_port 8009 Port de métrique du service Validator lorsqu'il est déployé en autonome
teku_metrics_categories [] (Toutes les catégories activées) Catégories pour lesquelles suivre les métriques
teku_data_path /data Utiliser le même dossier pour le validateurs et le service Beacon en mode autonome
teku_data_storage_mode prune Définir la stratégie pour gérer les données historiques de la chaîne
teku_beacon_rest_api_port 5051
teku_beacon_rest_api_docs_enabled False
teku_beacon_rest_api_enabled True Activer le service API REST
teku_beacon_rest_api_interface 127.0.0.1 Interface pour le service API REST
teku_beacon_rest_api_host_allowlist ["*"] Liste d'autorisation des hôtes pour le service API REST
teku_cmdline_args []
teku_cmdline_args_beacon teku_cmdline_args Seulement applicable en mode autonome. Permet de définir des valeurs spécifiques à Beacon
teku_cmdline_args_validator teku_cmdline_args Seulement applicable en mode autonome. Permet de définir des valeurs spécifiques au validateur
teku_env_opts []
teku_env_opts_beacon teku_env_opts Seulement applicable en mode autonome. Permet de définir des valeurs spécifiques à Beacon
teku_env_opts_validator teku_env_opts Seulement applicable en mode autonome. Permet de définir des valeurs spécifiques au validateur
teku_standalone_validator False Exécuter le validateur en mode autonome
teku_beacon_enabled True Indique s'il faut déployer le nœud Beacon

Liste des variables qui ne sont pas définies avec des valeurs par défaut dans le rôle Ansible. Cependant, si ces variables sont définies via la ligne de commande, elles seront configurées dans le fichier de configuration de Teku.

Nom Paramètre du fichier de configuration Description
teku_data_beacon_path data-beacon-path Chemin vers les données du Beacon
teku_data_storage_archive_frequency data-storage-archive-frequency Définit la fréquence, en slots, à laquelle stocker les états finalisés sur le disque
teku_data_validator_path data-validator-path Chemin vers les données du client valide
teku_ee_endpoint ee-endpoint URL du point de terminaison du moteur d'exécution
teku_ee_jwt_secret_file ee-jwt-secret-file Fichier pour lire le secret d'authentification JWT du moteur d'exécution
teku_log_level logging Niveaux de verbosité des journaux : OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
teku_log_validator_duties log-include-validator-duties-enabled Indique si les événements sont journalisés lorsque les validateurs exécutent des tâches
teku_p2p_discovery_bootnodes p2p-discovery-bootnodes Liste des ENRs des nœuds de démarrage ex : ['enr:-enr-string','enr:-enr-string']
teku_p2p_peer_lower_bound p2p-peer-lower-bound Limite inférieure sur le nombre cible de pairs
teku_p2p_peer_upper_bound p2p-peer-upper-bound Limite supérieure sur le nombre cible de pairs
teku_p2p_static_peers p2p-static-peers Pairs statiques. ex : ['adresse-paire1','adresse-paire2']
teku_p2p_subscribe_all_subnets_enabled p2p-subscribe-all-subnets-enabled True/False
teku_validators_external_signer_public_keys validators-external-signer-public-keys Liste des clés publiques du signataire externe ex : ['clé1','clé2']
teku_validators_external_signer_timeout validators-external-signer-timeout Délai (en millisecondes) pour le service de signature externe
teku_validators_external_signer_url validators-external-signer-url URL pour le service de signature externe
teku_validators_proposer_default_fee_recipient validators-proposer-default-fee-recipient Destinataire des frais par défaut à utiliser lors de la proposition de blocs après la fusion
teku_validators_proposer_config validators-proposer-config URL distante ou chemin de fichier local pour charger la configuration du proposeur
teku_validators_proposer_config_refresh_enabled validators-proposer-config-refresh-enabled Indique si la configuration du proposeur doit être rafraîchie périodiquement
teku_validators_graffiti validators-graffiti Graffiti à inclure lors de la création de blocs (converti en bytes et complété pour Bytes32)
teku_validators_keystore_locking_enabled validators-keystore-locking-enabled Active le verrouillage des fichiers de stockage de validateur (Valeurs valides : True, False)
teku_validators_performance_tracking_enabled validators-performance-tracking-enabled Active le suivi et la journalisation des performances du validateur (Valeurs valides : True, False)
teku_validators_early_attestations_enabled validators-early-attestations-enabled Active la production d'attestations anticipées (Valeurs valides : True, False)
teku_ws_checkpoint ws-checkpoint Un récent point de contrôle dans la période de subjectivité faible. Format :
teku_beacon_node_api_endpoints beacon-node-api-endpoints Tableau. Les points de terminaison de l'API du nœud Beacon auxquels le client validateur doit se connecter.

Mode autonome

Il est possible de configurer Teku pour s'exécuter soit en mode monolithique (le Beacon et le validateur s'exécutent dans le même processus) soit en mode autonome (le Beacon et le validateur s'exécutent dans leur propre processus). Le mode autonome exécute le service Beacon dans son propre processus et le service validateur dans son propre processus. Le nom du service systemd teku est utilisé pour le service Beacon et teku-validator est utilisé pour le service validateur lorsqu'il est exécuté en mode autonome. Le rôle Ansible par défaut exécute Teku en mode monolithique et ce comportement peut être contrôlé avec la variable teku_standalone_validator=False/True.

Exemple de playbook

  1. Configuration par défaut : Installez le rôle depuis Galaxy
ansible-galaxy install pegasyseng.teku

Créez un fichier requirements.yml avec ce qui suit : Remplacez x.y.z ci-dessous par la version que vous souhaitez utiliser depuis la page des releases de Teku.

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

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

Exécutez avec ansible-playbook :

ansible-playbook -v /path/to/requirements.yml
  1. Installation via GitHub
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git

Créez un fichier requirements.yml avec ce qui suit : Remplacez x.y.z ci-dessous par la version que vous souhaitez utiliser depuis la page des releases de Teku.

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

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

Exécutez avec ansible-playbook :

ansible-playbook -v /path/to/requirements.yml

Licence

Apache

Informations sur l'auteur

PegaSysEng, 2020

À propos du projet

Teku is an open-source java enterprise ethereum 2 client

Installer
ansible-galaxy install consensys.teku
Licence
Unknown
Téléchargements
6.2k
Propriétaire
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.