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

* 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

O projekcie

Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.

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