web3signer
Ansible Роль: Web3Signer
Описание
Ansible роля, которая устанавливает, настраивает и запускает Web3Signer: открытый сервис подписи.
Содержание
- Поддерживаемые платформы
- Зависимости
- Переменные роли
- Настройка ключей подписи
- Пример плейбука
- Лицензия
- Информация об авторе
Поддерживаемые платформы
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
Зависимости
- JDK 11 или выше
- База данных PostgreSQL, если включена защита от слэшинга для eth2
Переменные роли:
Все переменные, которые можно переопределить, хранятся в файле defaults/main.yml. В основном, эти переменные являются параметрами конфигурации. Пожалуйста, обратитесь к документации Web3Signer docs для получения дополнительной информации.
Имя | Значение по умолчанию | Описание |
---|---|---|
web3signer_version | develop |
Версия для установки |
web3signer_user | web3signer |
Пользователь ОС для создания и запуска web3signer |
web3signer_group | web3signer |
Группа ОС |
web3signer_app_home | /opt/web3signer |
Место установки приложения |
web3signer_config_path | /etc/web3signer |
Место файла конфигурации |
web3signer_log_path | /var/log/web3signer |
Место файла журналов |
web3signer_log_filename | web3signer.log |
Имя файла журналов. Место будет web3signer_log_path |
web3signer_data_home | /data/web3signer |
Место для хранения постоянных данных. Ключи хранятся в подпапке keys |
web3signer_db_verify_connection | True |
Включает проверку доступности базы данных |
web3signer_db_host | Хост экземпляра базы данных PostgreSQL | |
web3signer_db_name | Имя базы данных PostgreSQL | |
web3signer_db_username | Пользователь базы данных PostgreSQL | |
web3signer_db_password | Пароль пользователя базы данных PostgreSQL | |
web3signer_flyway_version | 7.3.0 |
Версия Flyway CLI для загрузки для миграции Flyway |
web3signer_service_name | web3signer |
Имя службы systemd |
web3signer_config_filename | web3signer.yml |
Имя файла конфигурации. Место будет web3signer_config_path |
web3signer_command | eth2 |
Команда Web3signer. Поддерживаются eth1 , eth2 , filecoin |
web3signer_keys | [] |
Укажите ключи для настройки. Пожалуйста, смотрите ниже для более подробной информации |
web3signer_logging | INFO |
Уровни журналирования: OFF, FATAL, WARN, INFO, DEBUG, TRACE, ALL |
web3signer_http_listen_host | 127.0.0.1 |
Хост для прослушивания HTTP |
web3signer_http_listen_port | 9000 |
Порт для прослушивания HTTP |
web3signer_http_host_allowlist | ['127.0.0.1'] | Список разрешенных для доступа по http, или * для принятия любого хоста |
web3signer_metrics_enabled | False |
Установите для начала измерителя метрик |
web3signer_metrics_host | 127.0.0.1 |
Хост для измерителя метрик |
web3signer_metrics_port | 9001 |
Порт для измерителя метрик |
web3signer_metrics_categories | ['HTTP', 'SIGNING', 'FILECOIN', 'JVM', 'PROCESS', 'ETH2_SLASHING_PROTECTION'] | Список категорий для отслеживания метрик |
web3signer_metrics_host_allowlist | ['127.0.0.1'] | Список разрешенных для доступа к метрикам, или * для принятия любого хоста |
web3signer_idle_connection_timeout_seconds | 30 |
Количество секунд, после которых неактивное соединение будет прервано |
web3signer_swagger_ui_enabled | False |
Включить swagger UI |
web3signer_tls_keystore_file | Путь к PKCS#12 формату хранилища ключей для включения TLS на входящих соединениях | |
web3signer_tls_keystore_password_file | Путь к файлу с паролем для расшифровки хранилища ключей | |
web3signer_tls_allow_any_client | Если определено, любой клиент может подключаться, независимо от предоставленного сертификата. Это не может быть установлено, если включены белый список или CA клиенты | |
web3signer_tls_known_client_file | Путь к файлу, содержащему отпечатки авторизованных клиентов | |
web3signer_tls_allow_ca_clients | Если определено, позволяет клиентам, авторизованным CA, подключаться к EthSigner | |
web3signer_log4j_config_file | undefined | Пользовательский файл конфигурации log4j |
web3_signer_additional_configuration | {} |
Карта дополнительных настроек для установки в файл конфигурации. Это поможет настроить параметры, когда роль Ansible не была обновлена с недавно введенными параметрами. |
Настройка ключей подписи:
Ключи подписи, которые должны быть настроены в файловой системе, должны быть предоставлены через параметр web3signer_keys
в формате карты. Ключ карты будет использоваться как имя файла ключа. Каждый ключ создает файл ключа. В настоящее время поддерживаются незащищенные ключи, а поддержка других типов ключей будет добавлена в ближайшее время.
web3signer_keys:
key1:
type: 'file-raw'
keyType: 'BLS'
privateKey: '0x6eeb32dd0fe010051825e3ef402b1a7c66fd6daa9c61eb351c5d760684de8e6a'
Пример плейбука:
Пример плейбука для установки PostgreSQL, Java и Web3Signer на одной ВМ.
- name: Установка 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
Лицензия
Apache
Информация об авторе
Consensys, 2020
Web3Signer is an open-source signing service developed under the Apache 2.0 license and written in Java.
ansible-galaxy install ConsenSys/ansible-role-web3signer