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
- 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
- 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
Teku is an open-source java enterprise ethereum 2 client
ansible-galaxy install consensys.teku