consensys.tessera
Ansible角色:Tessera
描述
此仓库包含一个Ansible剧本,用于在裸机服务器上部署Tessera。
目录
先决条件
- Java JDK 11+
- 用于构建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" |
示例用法
- 从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
为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=
- 用以下命令运行结果:
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.