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
- Dependencias
- Variables del Rol
- Configurar Claves de Firma
- Ejemplo de Playbook
- Licencia
- Información del Autor
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
Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.
ansible-galaxy install consensys.web3signer