consensys.tessera
Ansible Rolle: Tessera
Beschreibung
Dieses Repository enthält ein Ansible-Playbook zur Bereitstellung von Tessera auf einem Bare-Metal-Server.
Inhaltsverzeichnis
Voraussetzungen
- Java JDK 11+
- Build-Werkzeuge zum Erstellen von libsodium
Rollenvariablen
Variablen sind in defaults/main.yml
definiert und können direkt überschrieben werden, indem man die Datei bearbeitet, Befehlszeilenparameter übergibt oder Variablen in einem Playbook festlegt. Die meisten Variablen beziehen sich auf die Konfigurationsdatei für Tessera, die in den Dokumenten zu finden sind.
Empfohlene erforderliche Rollenvariablen
Die folgende Tabelle listet die empfohlenen Rollenvariablen auf, die verwendet werden sollten. Bitte siehe die zweite Tabelle, wenn du die vollständige Liste der änderbaren Variablen sehen möchtest.
Name | Standard | Erforderlich? |
---|---|---|
tessera_version | unset | Ja |
run_with_besu | false | Ja, wenn es mit Besu läuft. Ungesetzt oder false lassen, wenn es mit GoQuorum verwendet wird. |
server_configs | unset | Ja. Wenn ungesetzt, wird die Standardkonfiguration verwendet, die für die Entwicklungsumgebung geeignet ist. Prüfe templates/config.json.j2 |
peers | unset | Ja. Wenn ungesetzt, wird standardmäßig auf sich selbst gesetzt. Überprüfe templates/config.json.j2 |
public_key | unset | Öffentliches Schlüssel. |
config_details | unset | Konfigurationsdetails für die geschützten oder ungeschützten Inline-Schlüsselpaaren. |
jdbc_url | Setzt auf tessera_config_dir/db | Ja. Standard wird auf tessera_config_dir/db als lokale Datei gesetzt. |
jdbc_username | "sa" | Ja. Stelle sicher, dass du änderst. |
jdbc_password | "" | Ja. Stelle sicher, dass du änderst. |
default_log_level | INFO | Nein. Kann auf 'DEBUG' gesetzt werden, wenn nötig. |
Vollständige Liste der Rollenvariablen
Name | Standard | Beschreibung |
---|---|---|
tessera_version | unset | Version von Tessera, die installiert werden soll. Muss für die Ausführung der Rolle festgelegt werden. |
tessera_user | tessera | Der Benutzer, der auf dem System für Tessera erstellt wird. |
tessera_group | tessera | Gruppe, zu der der Benutzer gehören wird. |
tessera_download_url | Vorgegeben | URL zu Tessera tar. |
enclave_download_url | Vorgegeben | URL zu Enclave tar. |
azure_key_vault_download_url | Vorgegeben | URL zu Azure Key Vault tar. |
aws_key_vault_download_url | Vorgegeben | URL zu AWS Key Vault tar. |
hashicorp_key_vault_download_url | Vorgegeben | URL zu Hashicorp Key Vault tar. |
libsodium_download_url | Vorgegeben | URL zu Libsodium tar.gz. |
tessera_base_dir | /opt/tessera | Basisverzeichnis für Tessera-Binärdateien und Abhängigkeiten. |
tessera_install_dir | /opt/tessera/tessera-{{ tessera_version }} | Installationsverzeichnis für Tessera. |
tessera_config_dir | /etc/tessera | Konfigurationsverzeichnis für Tessera. |
tessera_log_dir | /var/log/tessera | Protokollverzeichnis für Tessera. |
tessera_libsodium_dir | /opt/tessera/libsodium | Libsodium Installationsverzeichnis. |
default_log_level | INFO | Setzt das Protokollevel für Tessera. |
jdbc_url | --- | JDBC-Verbindungs-URL. |
jdbc_username | "sa" | JDBC-Benutzername. |
jdbc_password | "" | JDBC-Passwort. |
disable_peer_discovery | false | Wenn auf true gesetzt, wird die Kommunikation auf Peers in der Konfigurationsdatei beschränkt. |
use_whitelist | false | Wenn auf true gesetzt, wird die Verbindung zu Tessera auf bestimmte Peers beschränkt. |
run_with_besu | false | Setze dies auf true, wenn Tessera mit Besu anstelle von GoQuorum ausgeführt werden soll. |
bootstrap_mode | false | Wenn auf true gesetzt, fungiert der Knoten als Bootstrap für andere Knoten. |
server_configs | [] | Siehe Dokumente. |
peers | [] | Liste der Peers, mit denen man sich verbinden möchte. |
public_key | "" | Öffentliches Schlüssel für Tessera. |
config_details | "" | Konfigurationsdetails für die geschützten oder ungeschützten Inline-Schlüsselpaaren. |
private_key_path | "" | Pfad zum privaten Schlüssel. |
public_key_path | "" | Pfad zum öffentlichen Schlüssel. |
private_key | "" | Privater Schlüssel für Tessera. |
aws_secret_manager | false | Setze dies auf true, wenn der AWS Secrets Manager verwendet wird. |
aws_region | us-east-1 | Setze die gewünschte AWS-Region für den Secrets Manager. |
aws_SecretsManager_PublicKeyId | "" | AWS Secrets Manager öffentlicher Schlüssel ID. |
aws_SecretsManager_PrivateKeyId | "" | AWS Secrets Manager privater Schlüssel ID. |
azure_key_vault | false | Setze dies auf true, wenn der Azure Key Vault verwendet wird. |
azure_Vault_PrivateKeyId | "" | Azure privater Schlüssel ID. |
azure_Vault_PublicKeyId | "" | Azure öffentlicher Schlüssel ID. |
azure_Vault_PublicKeyVersion | "" | Azure öffentlicher Schlüssel Version. |
azure_Vault_PrivateKeyVersion | "" | Azure privater Schlüssel Version. |
hashicorp_vault | false | Setze auf true, wenn Hashicorp Vault verwendet wird. |
vault_url | "https://localhost:8200" | Setze die Vault-URL. |
tls_KeyStorePath | "" | Pfad zum TLS-Schlüssel-Store. |
tls_TrustStorePath | "" | Pfad zum Trust-Store. |
app_role_Path | not-default | |
hashicorp_vaultSecretEngineName | "" | Name der Vault Secret Engine. |
hashicorp_vaultSecretName | "" | Geheimnummer. |
hashicorp_vaultSecretVersion | "" | Geheimversion. |
hashicorp_vaultPrivateKeyId | "" | Privater Schlüssel ID. |
hashicorp_vaultPublicKeyId | "" | Öffentlicher Schlüssel ID. |
enable_remoteKeyValidation | false | Überprüft, ob ein Remote-Knoten die veröffentlichten öffentlichen Schlüssel besitzt. |
enable_privacyEnhancements | false | Aktiviert Partyschutz (PP) und private Statusvalidierung (PSV). |
enable_multiplePrivateStates | false | Aktiviert das Feature mehrerer privater Zustände. |
always_send_to | [] | Komma-getrennte Liste von öffentlichen Schlüsseln, die als Empfänger jeder über den Knoten gesendeten Transaktion enthalten sind. Dies ermöglicht die Konfiguration eines Knotens, der eine Kopie jeder Transaktion erhält, auch wenn er nicht als Partei der Transaktion festgelegt ist. |
symmetric_cipher | "AES/GCM/NoPadding" | |
elliptic_curve | "secp256r1" | |
nonce_length | "24" | |
shared_key_length | "32" |
Beispielverwendung
- Rolle aus Ansible Galaxy installieren
ansible-galaxy install consensys.tessera
Erstelle die requirements.yml
mit den erforderlichen Variablen
- 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=
Hinweis: Die obigen config_details
und public_key
Informationen dienen nur zu Demonstrationszwecken in einer Entwicklungsumgebung. Sie sollten NICHT in der Produktion verwendet werden. Bitte siehe Tessera-Dokumente wie man neue Schlüssel generiert und Vault-Dienste verwendet.
Hinweis: Der obige Befehl sollte nur für Entwicklungsumgebungen verwendet werden. Normalerweise musst du deine eigenen peers
und server_config
angeben, um deinen Anforderungen gerecht zu werden.
- Rolle von Github installieren
ansible-galaxy install git+https://github.com/consensys/ansible-role-tessera.git
Erstelle requirements.yml
für die von Github installierte Rolle
- 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=
- Führe das Ergebnis mit folgendem Befehl aus:
ansible-playbook -v requirements.yml -vvv
Lizenz
Apache
Autoreninformation
ConsenSys, 2021
Tessera is a private transaction manager for an Ethereum client like GoQuourm or Besu
ansible-galaxy install consensys.tessera