consensys.tessera
Ansible ロール: テセラ
説明
このリポジトリには、ベアメタルサーバーにテセラをデプロイするためのAnsibleプレイブックが含まれています。
目次
前提条件
- Java JDK 11+
- 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" |
使用例
- 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
の情報は、開発環境でのデモ目的のみのものです。生産環境で使用するべきではありません。新しい鍵を生成し、Vaultサービスを使用する方法についてはTesseraのドキュメントを参照してください。
注: 上記のコマンドは開発環境でのみ使用するべきです。通常は、自分の要件を満たすために独自の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.