consensys.teku
Ansible役割: Teku
説明
このAnsible役割は、Tekuをインストール、設定、および実行します。Tekuは企業向けのJava Ethereum 2クライアントです。
目次
対応プラットフォーム
* MacOS
* Debian
* Ubuntu
* Redhat(CentOS/Fedora)
* Amazon
依存関係
- JDK 11以上
役割の変数:
上書き可能なすべての変数は、defaults/main.ymlファイルに保存されています。これらの変数は主に設定オプションです。詳しくはtekuのドキュメントを参照してください。
名前 | デフォルト値 | 説明 |
---|---|---|
teku_version |
unset | 必須 インストールして実行するテクのバージョン。利用可能なすべてのバージョンは、tekuのリリースページに記載されています。 |
teku_user |
teku | tekuユーザー |
teku_group |
teku | tekuグループ |
teku_download_url |
https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/{{ teku_version }}/teku-{{ teku_version }}.tar.gz | ダウンロードするtar.gzファイル。内部リポジトリなど、カスタムの場所からテクを取得する必要がある場合に使用できます。 |
teku_install_dir |
/opt/teku | インストール先のパス |
teku_config_dir |
/etc/teku | デフォルト設定のパス |
teku_data_dir |
/opt/teku/data | データディレクトリのパス |
teku_log_dir |
/var/log/teku | ログディレクトリのパス |
teku_log_filename |
{{ teku_log_dir }}/teku.log |
ログファイル名およびその相対的または絶対的な場所を含むパス |
teku_profile_file |
/etc/profile.d/teku-path.sh | tekuをシステムPATHに読み込むためのパス |
teku_managed_service |
true | systemdサービス(またはDarwinの場合はlaunchd)を有効にします。 |
teku_launchd_dir |
/Library/LaunchAgents | デフォルトのlaunchdディレクトリ |
teku_systemd_dir |
/etc/systemd/system/ | デフォルトのsystemdディレクトリ |
teku_systemd_state |
restarted | systemdサービスの状態のデフォルトオプション |
teku_output_transition_dir |
/tmp/teku | |
teku_node_private_key_file |
"" | |
teku_network |
minimal | 事前定義されたネットワーク設定 |
teku_host_ip |
"" | |
teku_p2p_enabled |
True | すべてのP2P通信を有効または無効にします。 |
teku_p2p_interface |
0.0.0.0 | ノードがP2P通信をリッスンするネットワークインターフェースを指定します。 |
teku_p2p_port |
9000 | P2Pリッスニングポート(UDPおよびTCP)を指定します。 |
teku_p2p_advertised_port |
9000 | 宣伝されたP2Pポート |
teku_p2p_discovery_enabled |
True | P2Pピア発見を有効または無効にします。 |
teku_interop_genesis_time |
0 | |
teku_interop_start_state |
"" | |
teku_interop_owned_validator_start_index |
0 | |
teku_interop_owned_validator_count |
64 | |
teku_interop_number_of_validators |
64 | |
teku_interop_enabled |
False | |
teku_validators_key_file |
"" | 暗号化されていないバリデーターキーを読み込むためのYAML形式のファイルへのパス |
teku_deposit_mode |
normal | |
teku_deposit_input_file |
"" | |
teku_deposit_number_validators |
64 | |
teku_deposit_contract_address |
0x | デポジット契約のEth1アドレス |
teku_deposit_eth1_endpoint |
"" | Eth1ノードのJSON-RPC URL |
teku_metrics_enabled |
True | メトリクスエクスポーターを有効にするには、trueに設定します。 |
teku_metrics_interface |
0.0.0.0 | |
teku_metrics_port |
8008 | モノリスとしてデプロイされたときのメトリクスポート |
teku_beacon_metrics_port |
8008 | スタンドアロンモードでデプロイされたときのビーコンサービスのメトリクスポート |
teku_validator_metrics_port |
8009 | スタンドアロンモードでデプロイされたときのバリデーターサービスのメトリクスポート |
teku_metrics_categories |
[] (すべてのカテゴリが有効) | メトリクスを追跡するカテゴリ |
teku_data_path |
/data | スタンドアロンモードでバリデーターとビーコンサービスの両方に同じフォルダを使用します。 |
teku_data_storage_mode |
prune | 過去のチェーンデータを処理するための戦略を設定します。 |
teku_beacon_rest_api_port |
5051 | |
teku_beacon_rest_api_docs_enabled |
False | |
teku_beacon_rest_api_enabled |
True | REST APIサービスを有効にします。 |
teku_beacon_rest_api_interface |
127.0.0.1 | REST APIサービスのインターフェース |
teku_beacon_rest_api_host_allowlist |
["*"] | REST APIサービスのホスト許可リスト |
teku_cmdline_args |
[] | |
teku_cmdline_args_beacon |
teku_cmdline_args | スタンドアロンモードでのみ適用されます。ビーコンサービス専用の値を設定できます。 |
teku_cmdline_args_validator |
teku_cmdline_args | スタンドアロンモードでのみ適用されます。バリデーター専用の値を設定できます。 |
teku_env_opts |
[] | |
teku_env_opts_beacon |
teku_env_opts |
スタンドアロンモードでのみ適用されます。ビーコンサービス専用の値を設定できます。 |
teku_env_opts_validator |
teku_env_opts |
スタンドアロンモードでのみ適用されます。バリデーター専用の値を設定できます。 |
teku_standalone_validator |
False | バリデーターをスタンドアロンモードで実行します。 |
teku_beacon_enabled |
True | ビーコンノードをデプロイするかどうか |
Ansible役割内でデフォルト値が定義されていない変数のリスト。ただし、これらの変数がコマンドラインで設定された場合、それらはtekuの設定ファイルに構成されます。
名前 | 設定ファイルパラメータ | 説明 |
---|---|---|
teku_data_beacon_path |
data-beacon-path |
ビーコンデータへのパス |
teku_data_storage_archive_frequency |
data-storage-archive-frequency |
完了した状態をディスクに保存する頻度をスロット単位で設定します。 |
teku_data_validator_path |
data-validator-path |
バリデータークライアントデータへのパス |
teku_ee_endpoint |
ee-endpoint |
実行エンジンのエンドポイントURL |
teku_ee_jwt_secret_file |
ee-jwt-secret-file |
実行エンジンのJWT認証秘密を読み取るファイル |
teku_log_level |
logging |
ロギングの冗長レベル: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL |
teku_log_validator_duties |
log-include-validator-duties-enabled |
バリデーターが義務を果たすときにイベントがログに記録されるかどうか |
teku_p2p_discovery_bootnodes |
p2p-discovery-bootnodes |
ブートノードのENRリスト ex: ['enr:-enr-string','enr:-enr-string'] |
teku_p2p_peer_lower_bound |
p2p-peer-lower-bound |
ピアのターゲット数の下限 |
teku_p2p_peer_upper_bound |
p2p-peer-upper-bound |
ピアのターゲット数の上限 |
teku_p2p_static_peers |
p2p-static-peers |
スタティックピア ex: ['peer1-address','peer2-address'] |
teku_p2p_subscribe_all_subnets_enabled |
p2p-subscribe-all-subnets-enabled |
True/False |
teku_validators_external_signer_public_keys |
validators-external-signer-public-keys |
外部署名者の公開鍵のリスト ex: ['key1','key2'] |
teku_validators_external_signer_timeout |
validators-external-signer-timeout |
外部署名サービスのタイムアウト(ミリ秒単位) |
teku_validators_external_signer_url |
validators-external-signer-url |
外部署名サービスのURL |
teku_validators_proposer_default_fee_recipient |
validators-proposer-default-fee-recipient |
マージ後のブロックを提案する際に使用するデフォルトの手数料受取人 |
teku_validators_proposer_config |
validators-proposer-config |
プロポーザー設定を読み込むためのリモートURLまたはローカルファイルパス |
teku_validators_proposer_config_refresh_enabled |
validators-proposer-config-refresh-enabled |
プロポーザー設定を定期的に更新するかどうか |
teku_validators_graffiti |
validators-graffiti |
ブロック作成時に含めるグラフィティ(バイトに変換され、Bytes32にパディングされる) |
teku_validators_keystore_locking_enabled |
validators-keystore-locking-enabled |
バリデーターキーストアファイルのロックを有効にします(有効な値はTrueまたはFalse) |
teku_validators_performance_tracking_enabled |
validators-performance-tracking-enabled |
バリデーターのパフォーマンストラッキングとログを有効にします(有効な値はTrueまたはFalse) |
teku_validators_early_attestations_enabled |
validators-early-attestations-enabled |
早期承認の作成を有効にします(有効な値はTrueまたはFalse) |
teku_ws_checkpoint |
ws-checkpoint |
弱い主観の期間中に最近のチェックポイント。形式: |
teku_beacon_node_api_endpoints |
beacon-node-api-endpoints |
配列。バリデータークライアントが接続するべきビーコンノードAPIエンドポイント。 |
スタンドアロンモード
Tekuは、モノリスモード(ビーコンとバリデーターが同じプロセスで実行される)またはスタンドアロンモード(ビーコンとバリデーターがそれぞれ独自のプロセスで実行される)で実行するように構成できます。スタンドアロンモードでは、ビーコンサービスが独自のプロセスで実行され、バリデーターサービスが独自のプロセスで実行されます。systemdサービス名teku
がビーコンサービスに使用され、teku-validator
がスタンドアロンモードで実行されるときのバリデーターサービスに使用されます。Ansible役割はデフォルトでTekuをモノリスモードで実行し、動作は変数teku_standalone_validator=False/True
で制御できます。
例のプレイブック
- デフォルト設定: Galaxyから役割をインストールします
ansible-galaxy install pegasyseng.teku
次の内容でrequirements.ymlを作成します:
テクのリリースページから使用したいバージョンでx.y.z
を置き換えます。
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: pegasyseng.teku
vars:
teku_version: x.y.z
ansible-playbookで実行します:
ansible-playbook -v /path/to/requirements.yml
- GitHub経由でインストール
ansible-galaxy install git+https://github.com/pegasyseng/ansible-role-teku.git
次の内容でrequirements.ymlを作成します:
テクのリリースページから使用したいバージョンでx.y.z
を置き換えます。
---
- hosts: localhost
connection: local
force_handlers: True
roles:
- role: ansible-role-teku
vars:
teku_version: x.y.z
ansible-playbookで実行します:
ansible-playbook -v /path/to/requirements.yml
ライセンス
Apache
著者情報
PegaSysEng, 2020
Teku is an open-source java enterprise ethereum 2 client
ansible-galaxy install consensys.teku