consensys.tessera

Ansible ロール: テセラ

説明

このリポジトリには、ベアメタルサーバーにテセラをデプロイするためのAnsibleプレイブックが含まれています。

目次

前提条件

  1. Java JDK 11+
  2. libsodiumをビルドするためのビルドツール

ロール変数

変数はdefaults/main.ymlに定義されており、ファイルを直接編集するか、コマンドラインパラメータまたはプレイブック内の変数を渡すことで上書きできます。ほとんどの変数はテセラの設定ファイルに関するオプションで、詳細はそのドキュメントにあります。

推奨される必須ロール変数

以下の表は、使用すべき推奨ロール変数を示しています。変更可能な変数の完全なリストを見たい場合は、こちらをご覧ください。

名前 デフォルト 必須?
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_user tessera テセラが実行されるためにシステム上に作成されるユーザー。
tessera_group tessera ユーザーが所属するグループ。
tessera_download_url 事前設定 テセラの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_install_dir /opt/tessera/tessera-{{ tessera_version }} テセラのインストールディレクトリ。
tessera_config_dir /etc/tessera テセラの設定ディレクトリ。
tessera_log_dir /var/log/tessera テセラのログディレクトリ。
tessera_libsodium_dir /opt/tessera/libsodium Libsodiumのインストールディレクトリ。
default_log_level INFO テセラのログレベルを設定します。
jdbc_url --- JDBC接続URL。
jdbc_username "sa" JDBCユーザー名。
jdbc_password "" JDBCパスワード。
disable_peer_discovery trueに設定すると、通信は設定ファイルのピアに制限されます。
use_whitelist trueに設定すると、テセラへの接続は指定されたピアに制限されます。
run_with_besu テセラをGoQuorumの代わりにBesuで実行する場合はこれをtrueに設定してください。
bootstrap_mode trueに設定すると、ノードは他のノードのブートストラップの役割を果たします。
server_configs [] ドキュメントを参照してください。
peers [] 接続するピアのリスト。
public_key "" テセラ用の公開鍵。
config_details "" 保護されたまたは未保護のインライン鍵ペアの構成詳細。
private_key_path "" 秘密鍵のパス。
public_key_path "" 公開鍵のパス。
private_key "" テセラ用の秘密鍵。
aws_secret_manager AWS Secrets Managerを使用する場合はこれをtrueに設定してください。
aws_region us-east-1 Secrets Managerに使用するAWSリージョンを指定します。
aws_SecretsManager_PublicKeyId "" AWS Secrets Managerの公開鍵ID。
aws_SecretsManager_PrivateKeyId "" AWS Secrets Managerの秘密鍵ID。
azure_key_vault Azure Key Vaultを使用する場合はこれをtrueに設定してください。
azure_Vault_PrivateKeyId "" Azureの秘密鍵ID。
azure_Vault_PublicKeyId "" Azureの公開鍵ID。
azure_Vault_PublicKeyVersion "" Azureの公開鍵バージョン。
azure_Vault_PrivateKeyVersion "" Azureの秘密鍵バージョン。
hashicorp_vault 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 "" 秘密鍵ID。
hashicorp_vaultPublicKeyId "" 公開鍵ID。
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"

使用例

  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の情報は、開発環境でのデモ目的のみのものです。生産環境で使用するべきではありません。新しい鍵を生成し、Vaultサービスを使用する方法についてはTesseraのドキュメントを参照してください。

: 上記のコマンドは開発環境でのみ使用するべきです。通常は、自分の要件を満たすために独自の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.