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

* 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

À propos du projet

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

Installer
ansible-galaxy install consensys.web3signer
Licence
Unknown
Téléchargements
10k
Propriétaire
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.