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
Лицензия
Unknown
Загрузки
9136
Владелец
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.