consensys.web3signer
Rôle Ansible : Web3Signer
Description
Rôle Ansible qui installe, configure et exécute Web3Signer : un service de signature open-source
Table des matières
- Plateformes prises en charge
- Dépendances
- Variables du rôle
- Configurer les clés de signature
- Exemple de Playbook
- Licence
- Informations sur l'auteur
Plateformes prises en charge
* Debian
* Ubuntu
* Redhat (CentOS/Fedora)
* Amazon
Dépendances
- JDK 11 ou version supérieure
- Base de données PostgreSQL si la protection contre le slashing est activée pour eth2
Variables du rôle :
Toutes les variables pouvant être remplacées sont stockées dans le fichier defaults/main.yml. En général, ces variables sont des options de configuration. Veuillez vous référer à la documentation de Web3Signer pour plus d'informations.
Nom | Valeur par défaut | Description |
---|---|---|
web3signer_version | develop |
Version à installer |
web3signer_user | web3signer |
Utilisateur OS à créer et exécuter web3signer |
web3signer_group | web3signer |
Groupe OS |
web3signer_app_home | /opt/web3signer |
Emplacement d'installation de l'application |
web3signer_config_path | /etc/web3signer |
Emplacement du fichier de configuration |
web3signer_log_path | /var/log/web3signer |
Emplacement du fichier journal |
web3signer_log_filename | web3signer.log |
Nom du fichier journal. L'emplacement sera web3signer_log_path |
web3signer_data_home | /data/web3signer |
Emplacement pour stocker des données persistantes. Les clés sont stockées dans un sous-dossier clés |
web3signer_db_verify_connection | True |
Active la vérification de la disponibilité de la base de données |
web3signer_db_host | Hôte de l'instance de base de données PostgreSQL | |
web3signer_db_name | Nom de la base de données PostgreSQL | |
web3signer_db_username | Utilisateur de la base de données PostgreSQL | |
web3signer_db_password | Mot de passe de l'utilisateur de la base de données PostgreSQL | |
web3signer_flyway_version | 7.3.0 |
Version de Flyway CLI à télécharger pour la migration |
web3signer_service_name | web3signer |
Nom du service Systemd |
web3signer_config_filename | web3signer.yml |
Nom du fichier de configuration. L'emplacement sera web3signer_config_path |
web3signer_command | eth2 |
Commande Web3signer. Prend en charge eth1 , eth2 , filecoin |
web3signer_keys | [] |
Spécifiez les clés à configurer. Veuillez voir les notes ci-dessous pour plus de détails |
web3signer_logging | INFO |
Niveaux de verbosité des journaux : OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL |
web3signer_http_listen_host | 127.0.0.1 |
Hôte sur lequel écouter HTTP |
web3signer_http_listen_port | 9000 |
Port sur lequel écouter HTTP |
web3signer_http_host_allowlist | ['127.0.0.1'] | Liste séparée par des virgules des noms d'hôtes autorisés pour l'accès HTTP, ou * pour accepter n'importe quel hôte |
web3signer_metrics_enabled | False |
Mettre à True pour démarrer l'exportateur de métriques |
web3signer_metrics_host | 127.0.0.1 |
Hôte sur lequel l'exportateur de métriques écoutera |
web3signer_metrics_port | 9001 |
Port sur lequel l'exportateur de métriques écoutera |
web3signer_metrics_categories | ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] | Liste séparée par des virgules des catégories pour suivre les métriques |
web3signer_metrics_host_allowlist | ['127.0.0.1'] | Liste séparée par des virgules des noms d'hôtes autorisés pour l'accès aux métriques, ou * pour accepter n'importe quel hôte |
web3signer_idle_connection_timeout_seconds | 30 |
Nombre de secondes après lesquelles une connexion inactive sera terminée |
web3signer_swagger_ui_enabled | False |
Activer l'interface utilisateur Swagger |
web3signer_tls_keystore_file | Chemin vers un keystore au format PKCS#12 utilisé pour activer TLS sur les connexions entrantes | |
web3signer_tls_keystore_password_file | Chemin vers un fichier contenant le mot de passe utilisé pour déchiffrer le keystore | |
web3signer_tls_allow_any_client | Si défini, tout client peut se connecter, quel que soit le certificat présenté. Cela ne peut pas être défini si un tableau blanc ou des clients CA ont été activés | |
web3signer_tls_known_client_file | Chemin vers un fichier contenant les empreintes digitales des clients autorisés | |
web3signer_tls_allow_ca_clients | Si défini, permet aux clients autorisés par la CA de se connecter à EthSigner | |
web3signer_log4j_config_file | non défini | Fichier de configuration log4j personnalisé |
web3_signer_additional_configuration | {} |
Carte des configurations supplémentaires à définir dans le fichier de configuration. Cela sera utile pour configurer des paramètres lorsque le rôle Ansible n'a pas été mis à jour avec des paramètres récemment introduits. |
Configurer les clés de signature :
Les clés de signature à configurer sur le système de fichiers doivent être fournies via le paramètre web3signer_keys
sous forme de carte. La clé de la carte sera utilisée comme nom du fichier clé. Chaque clé crée un fichier clé. Actuellement, seules les clés non chiffrées sont prises en charge, et le support d'autres types de clés sera ajouté prochainement.
web3signer_keys:
key1:
type: 'file-raw'
keyType: 'BLS'
privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'
Exemple de Playbook :
Exemple de playbook pour installer PostgreSQL, Java et Web3Signer sur une seule machine virtuelle
- name: Installation de 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
Licence
Apache
Informations sur l'auteur
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