consensys.web3signer

Ansible-Rolle: Web3Signer

Beschreibung

Ansible-Rolle, die Web3Signer installiert, konfiguriert und ausführt: ein Open-Source-Signierungsdienst.

Inhaltsverzeichnis

Unterstützte Plattformen

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

Abhängigkeiten

  • JDK 11 oder höher
  • PostgreSQL-Datenbank, wenn der Slashing-Schutz für eth2 aktiviert ist

Rollenvariablen:

Alle variablen, die überschrieben werden können, sind in der Datei defaults/main.yml gespeichert. Im Großen und Ganzen sind diese Variablen Konfigurationsoptionen. Bitte beziehe dich auf die Web3Signer Dokumentation für weitere Informationen.

Name Standardwert Beschreibung
web3signer_version develop Zu installierende Version
web3signer_user web3signer OS-Benutzer, um Web3Signer zu erstellen und auszuführen
web3signer_group web3signer OS-Gruppe
web3signer_app_home /opt/web3signer Installationsort der App
web3signer_config_path /etc/web3signer Speicherort der Konfigurationsdatei
web3signer_log_path /var/log/web3signer Speicherort der Logdatei
web3signer_log_filename web3signer.log Name der Logdatei. Speicherort ist web3signer_log_path
web3signer_data_home /data/web3signer Ort zur Speicherung von persistenten Daten. Schlüssel werden in einem Unterordner keys gespeichert
web3signer_db_verify_connection True Aktiviert die Überprüfung, ob die Datenbank verfügbar ist
web3signer_db_host Host der PostgreSQL-Datenbankinstanz
web3signer_db_name Name der PostgreSQL-Datenbank
web3signer_db_username Benutzer der PostgreSQL-Datenbank
web3signer_db_password Passwort des Benutzers der PostgreSQL-Datenbank
web3signer_flyway_version 7.3.0 Flyway CLI-Version, die für die Migration heruntergeladen werden soll
web3signer_service_name web3signer Systemd-Dienstename
web3signer_config_filename web3signer.yml Name der Konfigurationsdatei. Speicherort ist web3signer_config_path
web3signer_command eth2 Web3Signer-Befehl. Unterstützt eth1,eth2,filecoin
web3signer_keys [] Schlüssel, die konfiguriert werden sollen. Siehe Anmerkungen unten für weitere Details
web3signer_logging INFO Protokollierungsstufen: OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL
web3signer_http_listen_host 127.0.0.1 Host, auf dem HTTP hören soll
web3signer_http_listen_port 9000 Port, auf dem HTTP hören soll
web3signer_http_host_allowlist ['127.0.0.1'] Kommagetrennte Liste von Hostnamen, die für den HTTP-Zugriff erlaubt sind, oder * um jeden Host zu akzeptieren
web3signer_metrics_enabled False Setzen, um den Metriken-Exporter zu starten
web3signer_metrics_host 127.0.0.1 Host, auf dem der Metriken-Exporter hören soll
web3signer_metrics_port 9001 Port, auf dem der Metriken-Exporter hören soll
web3signer_metrics_categories ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] Kommagetrennte Liste von Kategorien, für die Metriken verfolgt werden sollen
web3signer_metrics_host_allowlist ['127.0.0.1'] Kommagetrennte Liste von Hostnamen, die für den Zugriff auf Metriken erlaubt sind, oder * um jeden Host zu akzeptieren
web3signer_idle_connection_timeout_seconds 30 Anzahl der Sekunden, nach denen eine inaktive Verbindung beendet wird
web3signer_swagger_ui_enabled False Swagger UI aktivieren
web3signer_tls_keystore_file Pfad zu einem PKCS#12 formatierten Keystore, um TLS für eingehende Verbindungen zu aktivieren
web3signer_tls_keystore_password_file Pfad zu einer Datei, die das Passwort enthält, um den Keystore zu entschlüsseln
web3signer_tls_allow_any_client Wenn definiert, kann sich jeder Client verbinden, unabhängig vom vorgelegten Zertifikat. Dies kann nicht festgelegt werden, wenn ein Whitelist oder CA-Clients aktiviert sind
web3signer_tls_known_client_file Pfad zu einer Datei, die die Fingerabdrücke autorisierter Clients enthält
web3signer_tls_allow_ca_clients Wenn definiert, dürfen Clients, die von der CA autorisiert sind, sich mit EthSigner verbinden
web3signer_log4j_config_file undefined Benutzerdefinierte Log4j-Konfigurationsdatei
web3_signer_additional_configuration {} Karte zusätzlicher Konfigurationen, die in der Konfigurationsdatei festgelegt werden sollen. Dies wird hilfreich sein, um Parameter zu konfigurieren, wenn die Ansible-Rolle nicht mit kürzlich eingeführten Parametern aktualisiert wurde.

Konfigurieren von Signaturschlüsseln:

Zu konfigurierende Signaturschlüssel im Dateisystem müssen über den Parameter web3signer_keys als Map bereitgestellt werden. Der Schlüssel der Map wird als Name der Schlüsseldatei verwendet. Jeder Schlüssel erstellt eine Schlüsseldatei. Derzeit werden unverschlüsselte Schlüssel unterstützt, und Unterstützung für andere Schlüsseltypen wird in Kürze hinzugefügt.

web3signer_keys:
  key1:
    type: 'file-raw'
    keyType: 'BLS'
    privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'

Beispiel-Playbook:

Beispiel-Playbook zum Installieren von PostgreSQL, Java und Web3Signer auf einer einzelnen VM.

- name: Web3Signer Installation
  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

Lizenz

Apache

Autoreninformationen

Consensys, 2020

Über das Projekt

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

Installieren
ansible-galaxy install consensys.web3signer
GitHub Repository
Lizenz
Unknown
Downloads
10k
Besitzer
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.