consensys.web3signer

Rol de Ansible: Web3Signer

Descripción

Rol de Ansible que instalará, configurará y ejecutará Web3Signer: un servicio de firma de código abierto.

Tabla de Contenidos

Plataformas Soportadas

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

Dependencias

  • JDK 11 o superior
  • Base de datos PostgreSQL si la protección contra slashing está habilitada para eth2

Variables del Rol:

Todas las variables que se pueden sobrescribir se almacenan en el archivo defaults/main.yml. En gran medida, estas variables son opciones de configuración. Por favor, consulta la documentación de Web3Signer para más información.

Nombre Valor Por Defecto Descripción
web3signer_version develop Versión a instalar
web3signer_user web3signer Usuario del sistema para crear y ejecutar web3signer
web3signer_group web3signer Grupo del sistema
web3signer_app_home /opt/web3signer Ubicación de instalación de la aplicación
web3signer_config_path /etc/web3signer Ubicación del archivo de configuración
web3signer_log_path /var/log/web3signer Ubicación del archivo de registro
web3signer_log_filename web3signer.log Nombre del archivo de registro. La ubicación será web3signer_log_path
web3signer_data_home /data/web3signer Ubicación para almacenar datos persistentes. Las claves se almacenan en una subcarpeta 'keys'
web3signer_db_verify_connection True Habilita la verificación de la base de datos disponible
web3signer_db_host Host de la instancia de base de datos PostgreSQL
web3signer_db_name Nombre de la base de datos PostgreSQL
web3signer_db_username Usuario de la base de datos PostgreSQL
web3signer_db_password Contraseña del usuario de la base de datos PostgreSQL
web3signer_flyway_version 7.3.0 Versión de Flyway CLI a descargar para la migración de Flyway
web3signer_service_name web3signer Nombre del servicio Systemd
web3signer_config_filename web3signer.yml Nombre del archivo de configuración. La ubicación será web3signer_config_path
web3signer_command eth2 Comando de Web3signer. Soportado eth1, eth2, filecoin
web3signer_keys [] Especificar claves a configurar. Consulta las notas abajo para más detalles
web3signer_logging INFO Niveles de verbosidad de registro: OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL
web3signer_http_listen_host 127.0.0.1 Host en el que escuchará HTTP
web3signer_http_listen_port 9000 Puerto en el que escuchará HTTP
web3signer_http_host_allowlist ['127.0.0.1'] Lista separada por comas de nombres de host permitidos para acceso HTTP, o * para aceptar cualquier host
web3signer_metrics_enabled False Establecer para iniciar el exportador de métricas
web3signer_metrics_host 127.0.0.1 Host en el que escuchará el exportador de métricas
web3signer_metrics_port 9001 Puerto en el que escuchará el exportador de métricas
web3signer_metrics_categories ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] Lista separada por comas de categorías para rastrear métricas
web3signer_metrics_host_allowlist ['127.0.0.1'] Lista separada por comas de nombres de host permitidos para acceso a métricas, o * para aceptar cualquier host
web3signer_idle_connection_timeout_seconds 30 Número de segundos tras los cuales una conexión inactiva se cerrará
web3signer_swagger_ui_enabled False Habilitar la interfaz de usuario de Swagger
web3signer_tls_keystore_file Ruta a un almacén de claves en formato PKCS#12 utilizado para habilitar TLS en conexiones entrantes
web3signer_tls_keystore_password_file Ruta a un archivo que contiene la contraseña utilizada para descifrar el almacén de claves
web3signer_tls_allow_any_client Si se define, cualquier cliente puede conectarse, independientemente del certificado presentado. Esto no se puede establecer si se ha habilitado una lista blanca o clientes CA
web3signer_tls_known_client_file Ruta a un archivo que contiene las huellas digitales de los clientes autorizados
web3signer_tls_allow_ca_clients Si se define, permite que los clientes autorizados por la CA se conecten a EthSigner
web3signer_log4j_config_file undefined Archivo de configuración log4j personalizado
web3_signer_additional_configuration {} Mapa de configuraciones adicionales para establecer en el archivo de configuración. Esto será útil para configurar parámetros cuando el rol de Ansible no se haya actualizado con recientemente introducidos parámetros.

Configurar Claves de Firma:

Las claves de firma que se deben configurar en el sistema de archivos deben proporcionarse a través del parámetro web3signer_keys como un mapa. La clave del mapa se utilizará como el nombre del archivo de clave. Cada clave crea un archivo de clave. Actualmente se admiten claves sin cifrar y pronto se agregará soporte para otros tipos de claves.

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

Ejemplo de Playbook:

Ejemplo de playbook para instalar PostgreSQL, Java y Web3Signer en una sola VM.

- name: Instalación 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

Licencia

Apache

Información del Autor

Consensys, 2020

Acerca del proyecto

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

Instalar
ansible-galaxy install consensys.web3signer
Licencia
Unknown
Descargas
10k
Propietario
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.