consensys.tessera

Ansible角色:Tessera

描述

此仓库包含一个Ansible剧本,用于在裸机服务器上部署Tessera

目录

先决条件

  1. Java JDK 11+
  2. 用于构建libsodium的构建工具

角色变量

变量定义在defaults/main.yml中,可以通过编辑该文件、传递命令行参数或在剧本中使用变量直接覆盖。大多数变量与Tessera的配置文件相关,可以在它的文档中找到。

推荐的必要角色变量

以下表格列出了推荐使用的角色变量。如果您想查看可修改的整个变量列表,请参见完整列表

名称 默认 需要吗?
tessera_version 未设置
run_with_besu false 是,如果与Besu一起运行。如果与GoQuorum一起使用,请保持未设置或为false。
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 预定义 Tessera tar的URL。
enclave_download_url 预定义 Enclave tar的URL。
azure_key_vault_download_url 预定义 Azure Key Vault tar的URL。
aws_key_vault_download_url 预定义 AWS Key Vault tar的URL。
hashicorp_key_vault_download_url 预定义 Hashicorp Key Vault tar的URL。
libsodium_download_url 预定义 Libsodium tar.gz的URL。
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 --- JDBC连接URL。
jdbc_username "sa" JDBC用户名。
jdbc_password "" JDBC密码。
disable_peer_discovery false 如果设置为true,则通信限制为配置文件中的对等方。
use_whitelist false 如果设置为true,则仅允许与指定对等方连接Tessera。
run_with_besu false 如果将Tessera与Besu一同运行,请将此值设置为true。
bootstrap_mode false 如果设置为true,则节点将充当其他节点的引导。
server_configs [] 参考文档
peers [] 要连接的对等方列表。
public_key "" Tessera的公钥。
config_details "" 保护或未保护的内联密钥对的配置细节。
private_key_path "" 私钥的路径。
public_key_path "" 公钥的路径。
private_key "" Tessera的私钥。
aws_secret_manager false 如果使用AWS Secrets Manager,请将此值设置为true。
aws_region us-east-1 设置所需的AWS Secrets Manager区域。
aws_SecretsManager_PublicKeyId "" AWS Secrets Manager公钥ID。
aws_SecretsManager_PrivateKeyId "" AWS Secrets Manager私钥ID。
azure_key_vault false 如果使用Azure Key Vault,请将此值设置为true。
azure_Vault_PrivateKeyId "" Azure私钥ID。
azure_Vault_PublicKeyId "" Azure公钥ID。
azure_Vault_PublicKeyVersion "" Azure公钥版本。
azure_Vault_PrivateKeyVersion "" Azure私钥版本。
hashicorp_vault false 如果使用Hashicorp Vault,请设置为true。
vault_url "https://localhost:8200" 设置vault URL。
tls_KeyStorePath "" TLS密钥库的路径。
tls_TrustStorePath "" 信任库的路径。
app_role_Path not-default
hashicorp_vaultSecretEngineName "" Vault Secret引擎名称。
hashicorp_vaultSecretName "" 密钥名称。
hashicorp_vaultSecretVersion "" 密钥版本。
hashicorp_vaultPrivateKeyId "" 私钥ID。
hashicorp_vaultPublicKeyId "" 公钥ID。
enable_remoteKeyValidation false 检查远程节点是否拥有正在宣传的公钥。
enable_privacyEnhancements false 启用方保护(PP)和私有状态验证(PSV)。
enable_multiplePrivateStates false 启用多个私有状态功能。
always_send_to [] 用于每个通过节点发送的交易的接收者公钥的以逗号分隔的列表。这允许您配置一个节点,该节点会收到每个交易的副本,即使它没有被指定为交易的参与方。
symmetric_cipher "AES/GCM/NoPadding"
elliptic_curve "secp256r1"
nonce_length "24"
shared_key_length "32"

示例用法

  1. 从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_detailspublic_key信息仅用于开发环境演示。它们不应在生产中使用。请参阅Tessera文档以了解如何生成新密钥和使用Vault服务。

_注意_:上述命令应仅用于开发环境。通常,您需要指定自己的peersserver_config以满足需求。

  1. 从Github安装角色

ansible-galaxy install git+https://github.com/consensys/ansible-role-tessera.git

为Github安装的角色创建requirements.yml

- 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=
  1. 用以下命令运行结果: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.tessera
许可证
apache-2.0
下载
90
拥有者
Consensys is the software engineering leader of the blockchain space. Our full-stack Ethereum products help developers build next-generation networks.