deployment-handoff/secret-agent/install-root-unlock.sh
2026-07-16 23:33:08 -06:00

35 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
set -eu
umask 077
root_dir=/root/.xtao-secret-agent
shared_dir=/volume1/xtao-data/secret-agent
backup_dir=/volume2/xtao-backup/secret-agent/kdbx
cred_tmp="$root_dir/master.key.$$"
[ "$(id -u)" = "0" ] || { echo "FAIL must_run_as_root"; exit 1; }
mkdir -p "$root_dir" "$root_dir/locks" "$root_dir/db" "$shared_dir/bin" "$shared_dir/runtime" "$shared_dir/logs" "$backup_dir"
chmod 700 "$root_dir" "$root_dir/locks" "$root_dir/db" "$shared_dir" "$shared_dir/bin" "$shared_dir/runtime" "$shared_dir/logs" "$backup_dir"
cat > "$cred_tmp"
chmod 600 "$cred_tmp"
if [ ! -s "$cred_tmp" ]; then
rm -f "$cred_tmp"
echo "FAIL empty_unlock_input"
exit 2
fi
mv "$cred_tmp" "$root_dir/master.key"
chown root:root "$root_dir/master.key"
chmod 600 "$root_dir/master.key"
cat > "$root_dir/config.env" <<'EOF'
XTAO_SECRET_AGENT_DB=/root/.xtao-secret-agent/db/xtao-automation.kdbx
XTAO_SECRET_AGENT_PY_IMAGE=python@sha256:cab2dbf575e971934a81e4622f5aba17aa7929719bd7e31033a3a83b97fd0464
XTAO_SECRET_AGENT_SHARED=/volume1/xtao-data/secret-agent
XTAO_SECRET_AGENT_BACKUP=/volume2/xtao-backup/secret-agent/kdbx
EOF
chown root:root "$root_dir/config.env"
chmod 600 "$root_dir/config.env"
echo "PASS root_unlock_installed path=/root/.xtao-secret-agent/master.key mode=0600"