tessera
Ansible Роль: Tessera
Описание
Этот репозиторий содержит Ansible плейбук для развертывания Tessera на физическом сервере.
Содержание
Предварительные требования
- Java JDK 11+
- Инструменты сборки для сборки libsodium
Переменные роли
Переменные определены в defaults/main.yml
и могут быть переопределены, редактируя файл, передавая параметры командной строки или переменные в плейбуке. Большинство переменных относятся к конфигурационному файлу для Tessera, который можно найти в документации.
Рекомендуемые обязательные переменные роли
В таблице ниже приведены рекомендуемые переменные роли, которые должны использоваться. Пожалуйста, смотрите вторую таблицу, если вы хотите увидеть полный список переменных, которые могут быть изменены.
Имя | По умолчанию | Обязательно? |
---|---|---|
tessera_version | не установлен | Да |
run_with_besu | ложь | Да, если работает с Besu. Оставьте не установленным или ложным, если используете GoQuorum. |
server_configs | не установлен | Да. Однако, если оставлено не установленным, будет использована стандартная конфигурация, подходящая для разработки. Проверьте templates/config.json.j2 |
peers | не установлен | Да. Однако, если оставлено не установленным, будет использовано значение по умолчанию. Проверьте templates/config.json.j2 |
public_key | не установлен | Открытый ключ. |
config_details | не установлен | Детали конфигурации для защищенных или незащищенных пар ключей. |
jdbc_url | Установлено на tessera_config_dir/db | Да. По умолчанию установлено на tessera_config_dir/db как локальный файл. |
jdbc_username | "sa" | Да. Обязательно измените. |
jdbc_password | "" | Да. Обязательно измените. |
default_log_level | INFO | Нет. Может быть установлен на 'DEBUG', если необходимо. |
Полный список переменных роли
Имя | По умолчанию | Описание |
---|---|---|
tessera_version | не установлен | Версия Tessera для установки. Должна быть установлена для выполнения роли. |
tessera_user | tessera | Пользователь, который будет создан в системе для работы Tessera. |
tessera_group | tessera | Группа, к которой будет принадлежать пользователь. |
tessera_download_url | Предопределенный | URL для архива Tessera. |
enclave_download_url | Предопределенный | URL для архива Enclave. |
azure_key_vault_download_url | Предопределенный | URL для архива Azure Key Vault. |
aws_key_vault_download_url | Предопределенный | URL для архива AWS Key Vault. |
hashicorp_key_vault_download_url | Предопределенный | URL для архива Hashicorp Key Vault. |
libsodium_download_url | Предопределенный | URL для архива Libsodium tar.gz. |
tessera_base_dir | /opt/tessera | Базовая директория для бинарного файла Tessera и зависимостей. |
tessera_install_dir | /opt/tessera/tessera-{{ tessera_version }} | Директория установки для Tessera. |
tessera_config_dir | /etc/tessera | Директория конфигурации для Tessera. |
tessera_log_dir | /var/log/tessera | Директория для логов Tessera. |
tessera_libsodium_dir | /opt/tessera/libsodium | Директория установки libsodium. |
default_log_level | INFO | Установить уровень логирования для Tessera. |
jdbc_url | --- | URL соединения JDBC. |
jdbc_username | "sa" | Имя пользователя JDBC. |
jdbc_password | "" | Пароль JDBC. |
disable_peer_discovery | ложь | Если установлено в true, то связь ограничивается пирами в конфигурационном файле. |
use_whitelist | ложь | Если установлено в true, то соединение с Tessera будет ограничено указанными пирами. |
run_with_besu | ложь | Установите значение true, если Tessera будет работать с Besu вместо GoQuorum. |
bootstrap_mode | ложь | Если установлено в true, то узел функционирует как бутстрэп для других узлов. |
server_configs | [] | Смотрите документацию. |
peers | [] | Список пиров для соединения. |
public_key | "" | Открытый ключ для Tessera. |
config_details | "" | Детали конфигурации для защищенных или незащищенных пар ключей. |
private_key_path | "" | Путь к закрытому ключу. |
public_key_path | "" | Путь к открытому ключу. |
private_key | "" | Закрытый ключ для Tessera. |
aws_secret_manager | ложь | Установите значение true, если используете AWS Secrets Manager. |
aws_region | us-east-1 | Установите желаемый регион AWS для Secrets Manager. |
aws_SecretsManager_PublicKeyId | "" | Идентификатор открытого ключа AWS Secrets Manager. |
aws_SecretsManager_PrivateKeyId | "" | Идентификатор закрытого ключа AWS Secrets Manager. |
azure_key_vault | ложь | Установите значение true, если используете Azure Key Vault. |
azure_Vault_PrivateKeyId | "" | Идентификатор закрытого ключа Azure. |
azure_Vault_PublicKeyId | "" | Идентификатор открытого ключа Azure. |
azure_Vault_PublicKeyVersion | "" | Версия открытого ключа Azure. |
azure_Vault_PrivateKeyVersion | "" | Версия закрытого ключа Azure. |
hashicorp_vault | ложь | Установите значение true, если используете Hashicorp Vault. |
vault_url | "https://localhost:8200" | Установите URL-адрес хранилища. |
tls_KeyStorePath | "" | Путь к TLS хранилищу ключей. |
tls_TrustStorePath | "" | Путь к хранилищу доверенных сертификатов. |
app_role_Path | not-default | |
hashicorp_vaultSecretEngineName | "" | Название двигателя секретов Vault. |
hashicorp_vaultSecretName | "" | Название секрета. |
hashicorp_vaultSecretVersion | "" | Версия секрета. |
hashicorp_vaultPrivateKeyId | "" | Идентификатор закрытого ключа. |
hashicorp_vaultPublicKeyId | "" | Идентификатор открытого ключа. |
enable_remoteKeyValidation | ложь | Проверяет, что удалённый узел владеет открытыми ключами, которые публикуются. |
enable_privacyEnhancements | ложь | Включает защиту сторон (PP) и проверку частного состояния (PSV). |
enable_multiplePrivateStates | ложь | Включает функцию нескольких частных состояний. |
always_send_to | [] | Список открытых ключей, разделённых запятой, которые следует включать в качестве получателей для каждой транзакции, отправляемой через узел. |
symmetric_cipher | "AES/GCM/NoPadding" | |
elliptic_curve | "secp256r1" | |
nonce_length | "24" | |
shared_key_length | "32" |
Пример использования
- Установить роль из Ansible Galaxy
ansible-galaxy install consensys.tessera
Создайте requirements.yml
с необходимыми переменными
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: consensys.tessera
vars:
besu_version: 21.10.2
tessera_version: 21.10.0
config_details: '["data":{"bytes":"Wl+...........tA="},"type":"unlocked"}]'
public_key: BUL.....3Bo=
Примечание: Указанная выше информация о config_details
и public_key
предназначена только для демонстрационных целей в среде разработки. Их не следует использовать в производственной среде. Пожалуйста, смотрите документацию Tessera о том, как генерировать новые ключи и использовать услуги Vault.
Примечание: Указанную команду следует использовать только в среде разработки. Обычно вам нужно указать собственные peers
и server_config
, чтобы соответствовать вашим требованиям.
- Установить роль из GitHub
ansible-galaxy install git+https://github.com/consensys/ansible-role-tessera.git
Создайте requirements.yml
для установленной роли из GitHub
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-tessera
vars:
besu_version: 21.10.2
tessera_version: 21.10.0
config_details: '["data":{"bytes":"Wl+...........tA="},"type":"unlocked"}]'
public_key: BUL.....3Bo=
- Запустите результат с помощью:
ansible-playbook -v requirements.yml -vvv
Лицензия
Apache
Информация об авторе
ConsenSys, 2021
Tessera is a private transaction manager for an Ethereum client like GoQuourm or Besu
ansible-galaxy install ConsenSys/ansible-role-tessera