consensys.web3signer
Ansible-Rolle: Web3Signer
Beschreibung
Ansible-Rolle, die Web3Signer installiert, konfiguriert und ausführt: ein Open-Source-Signierungsdienst.
Inhaltsverzeichnis
- Unterstützte Plattformen
- Abhängigkeiten
- Rollenvariablen
- Konfigurieren von Signaturschlüsseln
- Beispiel-Playbook
- Lizenz
- Autoreninformationen
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
Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.
ansible-galaxy install consensys.web3signer