Add script to setup yubihsm

This commit is contained in:
Shreerang Kale 2025-06-12 18:34:33 +05:30 committed by nabarun
parent 03e7d23691
commit b31b023509
2 changed files with 34 additions and 22 deletions

View File

@ -24,28 +24,7 @@ fi
case "$TMKMS_MODE" in
"yubihsm")
# Add chain configuration for yubihsm
# TODO: Take password from env var
cat <<EOF > $TMKMS_HOME/tmkms.toml
[[chain]]
id = "$CHAIN_ID"
key_format = { type = "cosmos-json", account_key_prefix = "${KEY_PREFIX}pub", consensus_key_prefix = "${KEY_PREFIX}valconspub" }
state_file = "$TMKMS_STATE_DIR/priv_validator_state.json"
[[validator]]
chain_id = "$CHAIN_ID"
addr = "tcp://$NODE_IP:$NODE_PORT"
secret_key = "$TMKMS_SECRETS_DIR/kms-identity.key"
protocol_version = "v0.34"
reconnect = true
[[providers.yubihsm]]
adapter = { type = "usb" }
auth = { key = 1, password = "password" }
EOF
# Setup YubiHSM
tmkms yubihsm setup -c $TMKMS_HOME/tmkms.toml
# TODO: Allow users to edit config toml
# Import the private validator key into tmkms for yubihsm (only if not already present)
if ! tmkms yubihsm keys list | grep -q "0x0001:"; then

View File

@ -0,0 +1,33 @@
#!/bin/bash
if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then
set -x
fi
set -e
TMKMS_HOME=/home/tmkmsuser/tmkms
TMKMS_SECRETS_DIR=$TMKMS_HOME/secrets
TMKMS_STATE_DIR=$TMKMS_HOME/state
tmkms init $TMKMS_HOME
cat <<EOF > $TMKMS_HOME/tmkms.toml
[[chain]]
id = "$CHAIN_ID"
key_format = { type = "cosmos-json", account_key_prefix = "${KEY_PREFIX}pub", consensus_key_prefix = "${KEY_PREFIX}valconspub" }
state_file = "$TMKMS_STATE_DIR/priv_validator_state.json"
[[validator]]
chain_id = "$CHAIN_ID"
addr = "tcp://$NODE_IP:$NODE_PORT"
secret_key = "$TMKMS_SECRETS_DIR/kms-identity.key"
protocol_version = "v0.34"
reconnect = true
[[providers.yubihsm]]
adapter = { type = "usb" }
auth = { key = 1, password = "$PASSWORD" }
EOF
tmkms yubihsm setup -c $TMKMS_HOME/tmkms.toml