consensys.teku
Ansible Rolle: Teku
Beschreibung
Ansible-Rolle, die Teku installiert, konfiguriert und ausführt: ein Java Ethereum 2 Client für Unternehmen.
Inhaltsverzeichnis
- Unterstützte Plattformen
- Abhängigkeiten
- Rollenvariablen
- Beispiel Playbook
- Lizenz
- Autoreninformationen
Unterstützte Plattformen
* MacOS
* Debian
* Ubuntu
* Redhat (CentOS/Fedora)
* Amazon
Abhängigkeiten
- JDK 11 oder höher
Rollenvariablen
Alle Variablen, die überschrieben werden können, sind in der Datei defaults/main.yml gespeichert. Diese Variablen sind im Allgemeinen Konfigurationsoptionen. Weitere Informationen finden Sie in der Teku Dokumentation.
Name | Standardwert | Beschreibung |
---|---|---|
teku_version |
unset | ERFORDERLICH Version von Teku, die installiert und ausgeführt werden soll. Alle verfügbaren Versionen sind auf unserer Teku Release Seite aufgeführt. |
teku_user |
teku | Teku-Benutzer |
teku_group |
teku | Teku-Gruppe |
teku_download_url |
https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz | Die heruntergeladene tar.gz-Datei. Sie können dies verwenden, wenn Sie Teku von einem benutzerdefinierten Speicherort wie einem internen Repository abrufen müssen. |
teku_install_dir |
/opt/teku | Installationspfad |
teku_config_dir |
/etc/teku | Pfad für die Standardkonfiguration |
teku_data_dir |
/opt/teku/data | Pfad für das Datenverzeichnis |
teku_log_dir |
/var/log/teku | Pfad für das Verzeichnis der Protokolle |
teku_log_filename |
{{ teku_log_dir }}/teku.log |
Pfad mit dem Speicherort (relativ oder absolut) und dem Dateinamen des Protokolls |
teku_profile_file |
/etc/profile.d/teku-path.sh | Pfad, um Teku in den System-PATH zu laden |
teku_managed_service |
true | Aktiviert einen systemd-Dienst (oder launchd, wenn es sich um Darwin handelt) |
teku_launchd_dir |
/Library/LaunchAgents | Das Standard-Lauchd-Verzeichnis |
teku_systemd_dir |
/etc/systemd/system/ | Das Standard-systemd-Verzeichnis |
teku_systemd_state |
restarted | Die Standardeinstellung für den Status des systemd-Dienstes |
teku_output_transition_dir |
/tmp/teku | |
teku_node_private_key_file |
"" | |
teku_network |
minimal | Vorgegebene Netzwerkkonfiguration |
teku_host_ip |
"" | |
teku_p2p_enabled |
True | Aktiviert oder deaktiviert die gesamte P2P-Kommunikation |
teku_p2p_interface |
0.0.0.0 | Gibt die Netzwerk-Schnittstelle an, über die der Knoten P2P-Kommunikation empfängt |
teku_p2p_port |
9000 | Gibt die P2P-Anschlussports (UDP und TCP) an |
teku_p2p_advertised_port |
9000 | Der angegebene P2P-Port |
teku_p2p_discovery_enabled |
True | Aktiviert oder deaktiviert das Entdecken von P2P-Peers |
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 |
"" | Pfad zur YAML-Formatierten Datei für die Entschlüsselung der Validator-Schlüssel |
teku_deposit_mode |
normal | |
teku_deposit_input_file |
"" | |
teku_deposit_number_validators |
64 | |
teku_deposit_contract_address |
0x | Eth1-Adresse des Einzahlungsvertrags |
teku_deposit_eth1_endpoint |
"" | JSON-RPC-URL des Eth1-Knotens |
teku_metrics_enabled |
True | Auf "true" setzen, um den Metriken-Exporter zu aktivieren |
teku_metrics_interface |
0.0.0.0 | |
teku_metrics_port |
8008 | Metrikport bei Bereitstellung als Monolith |
teku_beacon_metrics_port |
8008 | Metrikport des Beacon-Dienstes, wenn er als eigenständiger Dienst bereitgestellt wird |
teku_validator_metrics_port |
8009 | Metrikport des Validator-Dienstes, wenn er als eigenständiger Dienst bereitgestellt wird |
teku_metrics_categories |
[] (Alle Kategorien aktiviert) | Kategorien, für die Metriken erfasst werden sollen |
teku_data_path |
/data | Verwenden Sie denselben Ordner für sowohl Validator- als auch Beacon-Dienste im Standalone-Modus |
teku_data_storage_mode |
prune | Legt die Strategie für den Umgang mit historischen Kettendaten fest |
teku_beacon_rest_api_port |
5051 | |
teku_beacon_rest_api_docs_enabled |
False | |
teku_beacon_rest_api_enabled |
True | Aktiviert den REST-API-Dienst |
teku_beacon_rest_api_interface |
127.0.0.1 | Schnittstelle für den REST-API-Dienst |
teku_beacon_rest_api_host_allowlist |
["*"] | Host-Zulassungsliste für den REST-API-Dienst |
teku_cmdline_args |
[] | |
teku_cmdline_args_beacon |
teku_cmdline_args | Nur im Standalone-Modus anwendbar. Ermöglicht das Festlegen von beacon-spezifischen Werten |
teku_cmdline_args_validator |
teku_cmdline_args | Nur im Standalone-Modus anwendbar. Ermöglicht das Festlegen von validator-spezifischen Werten |
teku_env_opts |
[] | |
teku_env_opts_beacon |
teku_env_opts |
Nur im Standalone-Modus anwendbar. Ermöglicht das Festlegen von beacon-spezifischen Werten |
teku_env_opts_validator |
teku_env_opts |
Nur im Standalone-Modus anwendbar. Ermöglicht das Festlegen von validator-spezifischen Werten |
teku_standalone_validator |
False | Validator im Standalone-Modus ausführen |
teku_beacon_enabled |
True | Ob der Beacon-Knoten bereitgestellt werden soll |
Liste der Variablen, die in der Ansible-Rolle nicht mit Standardwerten definiert sind. Diese Variablen werden jedoch über die Befehlszeile gesetzt und in der Teku-Konfigurationsdatei konfiguriert.
Name | Konfigurationsdatei-Parameter | Beschreibung |
---|---|---|
teku_data_beacon_path |
data-beacon-path |
Pfad zu den Beacon-Daten |
teku_data_storage_archive_frequency |
data-storage-archive-frequency |
Legt die Häufigkeit in Slots fest, mit der endgültige Zustände auf die Festplatte gespeichert werden |
teku_data_validator_path |
data-validator-path |
Pfad zu den Daten des Validator-Clients |
teku_ee_endpoint |
ee-endpoint |
Die URL des Standorts der Ausführungsengine |
teku_ee_jwt_secret_file |
ee-jwt-secret-file |
Datei zum Lesen des JWT-Authentifizierungsgeheimnisses der Ausführungsengine |
teku_log_level |
logging |
Protokollierungsebene: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL |
teku_log_validator_duties |
log-include-validator-duties-enabled |
Ob Ereignisse protokolliert werden, wenn Validatoren Aufgaben erfüllen |
teku_p2p_discovery_bootnodes |
p2p-discovery-bootnodes |
Liste von ENRs der Bootknoten z.B: ['enr:-enr-string','enr:-enr-string'] |
teku_p2p_peer_lower_bound |
p2p-peer-lower-bound |
Untergrenze für die Zielanzahl der Peers |
teku_p2p_peer_upper_bound |
p2p-peer-upper-bound |
Obergrenze für die Zielanzahl der Peers |
teku_p2p_static_peers |
p2p-static-peers |
Statische Peers. z.B: ['peer1-address','peer2-address'] |
teku_p2p_subscribe_all_subnets_enabled |
p2p-subscribe-all-subnets-enabled |
Wahr/Falsch |
teku_validators_external_signer_public_keys |
validators-external-signer-public-keys |
Die Liste der öffentlichen Schlüssel externer Unterzeichner z.B: ['key1','key2'] |
teku_validators_external_signer_timeout |
validators-external-signer-timeout |
Timeout (in Millisekunden) für den externen Signierdienst |
teku_validators_external_signer_url |
validators-external-signer-url |
URL für den externen Signierdienst |
teku_validators_proposer_default_fee_recipient |
validators-proposer-default-fee-recipient |
Standardgebührenempfänger, der bei der Vorschlagserstellung von Blöcken verwendet wird |
teku_validators_proposer_config |
validators-proposer-config |
Remote-URL oder lokaler Datei-Pfad zum Laden der Vorschlagskonfiguration |
teku_validators_proposer_config_refresh_enabled |
validators-proposer-config-refresh-enabled |
Ob die Vorschlagskonfiguration regelmäßig aktualisiert werden soll |
teku_validators_graffiti |
validators-graffiti |
Graffiti, das während der Blockerstellung eingeschlossen werden soll (wird in Bytes umgewandelt und auf Bytes32 aufgefüllt) |
teku_validators_keystore_locking_enabled |
validators-keystore-locking-enabled |
Aktiviert die Sperrung von Validator-Keystore-Dateien (gültige Werte: True, False) |
teku_validators_performance_tracking_enabled |
validators-performance-tracking-enabled |
Aktiviert die Verfolgung und Protokollierung der Validator-Leistung (gültige Werte: True, False) |
teku_validators_early_attestations_enabled |
validators-early-attestations-enabled |
Aktiviert die Produktion früher Attestationen (gültige Werte: True, False) |
teku_ws_checkpoint |
ws-checkpoint |
Ein aktueller Kontrollpunkt innerhalb des schwachen Subjektivitätszeitraums. Format |
teku_beacon_node_api_endpoints |
beacon-node-api-endpoints |
Array. Die API-Endpunkte des Beacon-Knotens, mit denen der Validator-Client verbinden soll. |
Standalone-Modus
Es ist möglich, Teku so zu konfigurieren, dass es entweder im Monolith-Modus (Beacon und Validator laufen im selben Prozess) oder im Standalone-Modus (Beacon und Validator laufen in ihrem eigenen Prozess) läuft. Der Standalone-Modus führt den Beacon-Dienst in einem eigenen Prozess aus und den Validator-Dienst in einem eigenen Prozess. Der systemd-Dienstname teku
wird für den Beacon-Dienst verwendet und teku-validator
für den Validator-Dienst, wenn im Standalone-Modus ausgeführt. Die Ansible-Rolle läuft standardmäßig Teku im Monolith-Modus, das Verhalten kann mit der Variablen teku_standalone_validator=False/True
gesteuert werden.
Beispiel Playbook
- Standardsetup: Installieren Sie die Rolle aus der Galaxy
ansible-galaxy install pegasyseng.teku
Erstellen Sie eine requirements.yml mit folgendem Inhalt:
Ersetzen Sie x.y.z
durch die Version, die Sie von der Teku Release Seite verwenden möchten.
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: pegasyseng.teku
vars:
teku_version: x.y.z
Führen Sie es mit ansible-playbook aus:
ansible-playbook -v /path/to/requirements.yml
- Installation über GitHub
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git
Erstellen Sie eine requirements.yml mit folgendem Inhalt:
Ersetzen Sie x.y.z
durch die Version, die Sie von der Teku Release Seite verwenden möchten.
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-teku
vars:
teku_version: x.y.z
Führen Sie es mit ansible-playbook aus:
ansible-playbook -v /path/to/requirements.yml
Lizenz
Apache
Autoreninformationen
PegaSysEng, 2020
Teku is an open-source java enterprise ethereum 2 client
ansible-galaxy install consensys.teku