consensys.teku

Rola Ansible: Teku

Opis

Rola Ansible, która zainstaluje, skonfiguruje i uruchomi Teku: przedsiębiorcza Java Ethereum 2 Klient.

Spis treści

Obsługiwane platformy

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

Zależności

  • JDK 11 lub wyższe

Zmienne roli:

Wszystkie zmienne, które można nadpisać, są zapisane w pliku defaults/main.yml. W dużej mierze są to opcje konfiguracyjne. Proszę odwołać się do dokumentacji teku docs w celu uzyskania dodatkowych informacji.

Nazwa Wartość domyślna Opis
teku_version nie ustawiono WYMAGANE Wersja Teku do zainstalowania i uruchomienia. Wszystkie dostępne wersje można znaleźć na stronie wydania
teku_user teku Użytkownik Teku
teku_group teku Grupa Teku
teku_download_url https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz Ścieżka do pliku tar.gz do pobrania. Można to użyć, jeśli musisz pobrać Teku z niestandardowej lokalizacji, takiej jak wewnętrzny repozytorium.
teku_install_dir /opt/teku Ścieżka do instalacji
teku_config_dir /etc/teku Ścieżka do domyślnej konfiguracji
teku_data_dir /opt/teku/data Ścieżka do katalogu danych
teku_log_dir /var/log/teku Ścieżka do katalogu logów
teku_log_filename {{ teku_log_dir }}/teku.log Ścieżka zawierająca lokalizację (względną lub bezwzględną) i nazwę pliku logów
teku_profile_file /etc/profile.d/teku-path.sh Ścieżka do załadowania Teku do systemowej zmiennej PATH
teku_managed_service true Włącza usługę systemd (lub launchd, jeśli na Darwinie)
teku_launchd_dir /Library/LaunchAgents Domyślna lokalizacja launchd
teku_systemd_dir /etc/systemd/system/ Domyślna lokalizacja systemd
teku_systemd_state restarted Domyślna opcja stanu usługi systemd
teku_output_transition_dir /tmp/teku
teku_node_private_key_file ""
teku_network minimal Wstępnie zdefiniowana konfiguracja sieci
teku_host_ip ""
teku_p2p_enabled True Włącza lub wyłącza wszelką komunikację P2P
teku_p2p_interface 0.0.0.0 Określa interfejs sieciowy, na którym węzeł nasłuchuje komunikacji P2P
teku_p2p_port 9000 Określa porty nasłuchu P2P (UDP i TCP)
teku_p2p_advertised_port 9000 Reklamowany port P2P
teku_p2p_discovery_enabled True Włącza lub wyłącza odkrywanie węzłów 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 "" Ścieżka do pliku w formacie YAML do załadowania niezaszyfrowanych kluczy walidatorów
teku_deposit_mode normal
teku_deposit_input_file ""
teku_deposit_number_validators 64
teku_deposit_contract_address 0x Adres Eth1 kontraktu depozytowego
teku_deposit_eth1_endpoint "" JSON-RPC URL węzła Eth1
teku_metrics_enabled True Ustaw na true, aby włączyć eksportera metryk
teku_metrics_interface 0.0.0.0
teku_metrics_port 8008 Port metryk, gdy wdrożone jako monolit
teku_beacon_metrics_port 8008 Port metryk usługi beacon, gdy wdrożone jako samodzielne
teku_validator_metrics_port 8009 Port metryk usługi walidatora, gdy wdrożone jako samodzielne
teku_metrics_categories [] (Wszystkie kategorie włączone) Kategorie, dla których śledzone są metryki
teku_data_path /data Użyj tej samej lokalizacji dla obu usługi walidatora i beacon w trybie samodzielnym
teku_data_storage_mode prune Ustaw strategię obsługi historycznych danych łańcucha
teku_beacon_rest_api_port 5051
teku_beacon_rest_api_docs_enabled False
teku_beacon_rest_api_enabled True Włącz usługę REST API
teku_beacon_rest_api_interface 127.0.0.1 Interfejs dla usługi REST API
teku_beacon_rest_api_host_allowlist ["*"] Lista hostów dozwolonych dla usługi REST API
teku_cmdline_args []
teku_cmdline_args_beacon teku_cmdline_args Dotyczy tylko trybu samodzielnego. Pozwala na ustawienie wartości specyficznych dla beacon
teku_cmdline_args_validator teku_cmdline_args Dotyczy tylko trybu samodzielnego. Pozwala na ustawienie wartości specyficznych dla walidatora
teku_env_opts []
teku_env_opts_beacon teku_env_opts Dotyczy tylko trybu samodzielnego. Pozwala na ustawienie wartości specyficznych dla beacon
teku_env_opts_validator teku_env_opts Dotyczy tylko trybu samodzielnego. Pozwala na ustawienie wartości specyficznych dla walidatora
teku_standalone_validator False Uruchom walidatora w trybie samodzielnym
teku_beacon_enabled True Czy wdrożyć węzeł beacon

Lista zmiennych, które nie są zdefiniowane z wartościami domyślnymi w roli ansible. Jednak jeśli te zmienne zostaną ustawione za pomocą wiersza poleceń, będą skonfigurowane w pliku konfiguracyjnym Teku.

Nazwa Parametr pliku konfiguracyjnego Opis
teku_data_beacon_path data-beacon-path Ścieżka do danych beacon
teku_data_storage_archive_frequency data-storage-archive-frequency Ustala częstotliwość, w jakich slotach należy zapisać zfinalizowane stany na dysku
teku_data_validator_path data-validator-path Ścieżka do danych klienta walidatora
teku_ee_endpoint ee-endpoint Adres URL punktu końcowego silnika wykonawczego
teku_ee_jwt_secret_file ee-jwt-secret-file Plik do odczytu sekretu JWT uwierzytelniania silnika wykonawczego
teku_log_level logging Poziomy szczegółowości logowania: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL
teku_log_validator_duties log-include-validator-duties-enabled Czy zdarzenia są rejestrowane, gdy walidatory wykonują obowiązki
teku_p2p_discovery_bootnodes p2p-discovery-bootnodes Lista ENR węzłów startowych np: ['enr:-enr-string','enr:-enr-string']
teku_p2p_peer_lower_bound p2p-peer-lower-bound Dolna granica docelowej liczby rówieśników
teku_p2p_peer_upper_bound p2p-peer-upper-bound Górna granica docelowej liczby rówieśników
teku_p2p_static_peers p2p-static-peers Statyczni rówieśnicy. np: ['adres-peer1','adres-peer2']
teku_p2p_subscribe_all_subnets_enabled p2p-subscribe-all-subnets-enabled True/False
teku_validators_external_signer_public_keys validators-external-signer-public-keys Lista zewnętrznych kluczy publicznych podpisujących np: ['klucz1','klucz2']
teku_validators_external_signer_timeout validators-external-signer-timeout Czas oczekiwania (w milisekundach) dla usługi zewnętrznego podpisywania
teku_validators_external_signer_url validators-external-signer-url URL usługi zewnętrznego podpisywania
teku_validators_proposer_default_fee_recipient validators-proposer-default-fee-recipient Domyślny odbiorca opłat, którego należy użyć przy proponowaniu bloków po scaleniu
teku_validators_proposer_config validators-proposer-config Zdalny adres URL lub lokalna ścieżka do załadowania konfiguracji proponera
teku_validators_proposer_config_refresh_enabled validators-proposer-config-refresh-enabled Czy co jakiś czas odświeżać konfigurację proponera
teku_validators_graffiti validators-graffiti Graffiti do uwzględnienia podczas tworzenia bloku (konwertowane na bajty i zapadane do Bytes32)
teku_validators_keystore_locking_enabled validators-keystore-locking-enabled Włącz blokowanie plików keystore walidatorów (dopuszczalne wartości True, False)
teku_validators_performance_tracking_enabled validators-performance-tracking-enabled Włącz śledzenie wydajności walidatora i logowanie (dopuszczalne wartości True, False)
teku_validators_early_attestations_enabled validators-early-attestations-enabled Włącz produkcję wczesnych zaświadczeń (dopuszczalne wartości True, False)
teku_ws_checkpoint ws-checkpoint Ostatni punkt kontrolny w okresie słabej subiektywności. Format :
teku_beacon_node_api_endpoints beacon-node-api-endpoints Tablica. Punkty końcowe API węzła beacon, z którymi klient walidatora powinien się połączyć.

Tryb samodzielny

Możliwe jest skonfigurowanie Teku do działania w trybie monolitycznym (zarówno beacon, jak i walidator działają w tym samym procesie) lub trybie samodzielnym (beacon i walidator działają w osobnych procesach). Tryb samodzielny uruchamia usługę beacon w osobnym procesie oraz usługę walidatora w osobnym procesie. Nazwa usługi systemd teku jest używana dla usługi beacon, a teku-validator dla usługi walidatora, gdy działa w trybie samodzielnym. Rola Ansible domyślnie działa w trybie monolitycznym, a zachowanie można kontrolować za pomocą zmiennej teku_standalone_validator=False/True.

Przykładowy Playbook

  1. Domyślna konfiguracja: Zainstaluj rolę z galaxy
ansible-galaxy install pegasyseng.teku

Utwórz plik requirements.yml z następującymi danymi: Zastąp x.y.z poniżej wersją, którą chciałbyś użyć z sekcji wydania

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

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

Uruchom za pomocą ansible-playbook:

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

Utwórz plik requirements.yml z następującymi danymi: Zastąp x.y.z poniżej wersją, którą chciałbyś użyć z sekcji wydania

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

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

Uruchom za pomocą ansible-playbook:

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

Licencja

Apache

Informacje o autorze

PegaSysEng, 2020

O projekcie

Teku is an open-source java enterprise ethereum 2 client

Zainstaluj
ansible-galaxy install consensys.teku
Licencja
Unknown
Pobrania
6.2k
Właściciel
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.