consensys.web3signer
Ansible Rola: Web3Signer
Opis
Rola Ansible, która zainstaluje, skonfiguruje i uruchomi Web3Signer: open-source'ową usługę podpisywania.
Spis Treści
- Obsługiwane Platformy
- Zależności
- Zmienne Roli
- Konfiguracja Kluczy Podpisu
- Przykładowy Playbook
- Licencja
- Informacje Autorów
Obsługiwane Platformy
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
Zależności
- JDK 11 lub wyższe
- Baza danych PostgreSQL, jeśli ochrona przed slashingiem jest włączona dla eth2.
Zmienne Roli:
Wszystkie zmienne, które można nadpisać, są zapisane w pliku defaults/main.yml. Ogólnie rzecz biorąc, te zmienne to opcje konfiguracyjne. Proszę zapoznać się z dokumentacją Web3Signer tutaj w celu uzyskania dodatkowych informacji.
Nazwa | Wartość Domyślna | Opis |
---|---|---|
web3signer_version | develop |
Wersja do zainstalowania |
web3signer_user | web3signer |
Użytkownik systemu operacyjnego do utworzenia i uruchomienia web3signer |
web3signer_group | web3signer |
Grupa w systemie operacyjnym |
web3signer_app_home | /opt/web3signer |
Lokalizacja instalacji aplikacji |
web3signer_config_path | /etc/web3signer |
Lokalizacja pliku konfiguracyjnego |
web3signer_log_path | /var/log/web3signer |
Lokalizacja pliku dziennika |
web3signer_log_filename | web3signer.log |
Nazwa pliku dziennika. Miejsce to będzie web3signer_log_path |
web3signer_data_home | /data/web3signer |
Lokalizacja przechowywania danych. Klucze są przechowywane w podfolderze keys |
web3signer_db_verify_connection | True |
Włącza sprawdzanie dostępności bazy danych |
web3signer_db_host | Host instancji bazy danych PostgreSQL | |
web3signer_db_name | Nazwa bazy danych PostgreSQL | |
web3signer_db_username | Użytkownik bazy danych PostgreSQL | |
web3signer_db_password | Hasło użytkownika bazy danych PostgreSQL | |
web3signer_flyway_version | 7.3.0 |
Wersja Flyway CLI do pobrania do migracji |
web3signer_service_name | web3signer |
Nazwa usługi systemd |
web3signer_config_filename | web3signer.yml |
Nazwa pliku konfiguracyjnego. Lokalizacja to web3signer_config_path |
web3signer_command | eth2 |
Komenda Web3Signer. Obsługiwane eth1 , eth2 , filecoin |
web3signer_keys | [] |
Określ klucze do skonfigurowania. Proszę zapoznać się z notatkami poniżej dla uzyskania dodatkowych szczegółów |
web3signer_logging | INFO |
Poziomy szczegółowości logowania: OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL |
web3signer_http_listen_host | 127.0.0.1 |
Host do nasłuchiwania HTTP |
web3signer_http_listen_port | 9000 |
Port do nasłuchiwania HTTP |
web3signer_http_host_allowlist | ['127.0.0.1'] | Lista nazw hostów dozwolonych do dostępu HTTP, lub * aby zaakceptować każdy host |
web3signer_metrics_enabled | False |
Ustaw na start eksportera metryk |
web3signer_metrics_host | 127.0.0.1 |
Host, na którym eksporter metryk będzie nasłuchiwał |
web3signer_metrics_port | 9001 |
Port na którym eksporter metryk będzie nasłuchiwał |
web3signer_metrics_categories | ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] | Lista kategorii do śledzenia metryk |
web3signer_metrics_host_allowlist | ['127.0.0.1'] | Lista nazw hostów dozwolonych do dostępu do metryk, lub * aby zaakceptować każdy host |
web3signer_idle_connection_timeout_seconds | 30 |
Liczba sekund po których połączenie bezczynne zostanie zakończone |
web3signer_swagger_ui_enabled | False |
Włącz UI Swaggers |
web3signer_tls_keystore_file | Ścieżka do pliku PKCS#12 z kluczem używanego do włączenia TLS na połączeniach przychodzących | |
web3signer_tls_keystore_password_file | Ścieżka do pliku zawierającego hasło używane do odszyfrowania keystore | |
web3signer_tls_allow_any_client | Jeśli zdefiniowane, każdy klient może się połączyć, niezależnie od przedstawionego certyfikatu. Nie można tego ustawić, jeśli włączono białą listę lub klientów CA | |
web3signer_tls_known_client_file | Ścieżka do pliku zawierającego odciski palców autoryzowanych klientów | |
web3signer_tls_allow_ca_clients | Jeśli zdefiniowane, pozwala klientom autoryzowanym przez CA na połączenie z EthSigner | |
web3signer_log4j_config_file | undefined | Niestandardowy plik konfiguracyjny log4j |
web3_signer_additional_configuration | {} |
Mapa dodatkowych konfiguracji do ustawienia w pliku konfiguracyjnym. Będzie to pomocne w konfigurowaniu parametrów, gdy rola Ansible nie została zaktualizowana o niedawno wprowadzone parametry. |
Konfiguracja Kluczy Podpisu:
Klucze do podpisu, które mają być skonfigurowane w systemie plików, muszą być dostarczone przez parametr web3signer_keys
jako mapa. Klucz mapy będzie używany jako nazwa pliku klucza. Każdy klucz tworzy plik klucza. Obecnie obsługiwane są niezaszyfrowane klucze, a wsparcie dla innych typów kluczy zostanie wkrótce dodane.
web3signer_keys:
key1:
type: 'file-raw'
keyType: 'BLS'
privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'
Przykładowy Playbook:
Przykładowy playbook do instalacji PostgreSQL, Java i Web3Signer na jednej maszynie wirtualnej.
- name: Instalacja Web3Signer
hosts: web3signer
remote_user: vagrant
vars:
web3signer_http_listen_host: '0.0.0.0'
web3signer_db_host: 'localhost'
web3signer_db_name: 'web3signer'
web3signer_db_username: 'web3signer'
web3signer_db_password: 'somepassword'
web3signer_keys:
key1:
type: 'file-raw'
keyType: 'BLS'
privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'
postgresql_hba_entries:
- { type: local, database: all, user: postgres, auth_method: trust }
- { type: host, database: web3signer, user: web3signer, address: localhost, auth_method: password }
postgresql_users:
- name: 'web3signer'
password: 'somepassword'
postgresql_databases:
- name: 'web3signer'
roles:
- role: geerlingguy.postgresql
become: True
- role: lean_delivery.java
become: True
- role: consensys.web3signer
Licencja
Apache
Informacje Autorów
Consensys, 2020
Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.
ansible-galaxy install consensys.web3signer