lots of stuff

This commit is contained in:
bee
2026-08-16 14:48:04 +02:00
parent c63db540e8
commit 49fa352476
45 changed files with 32520 additions and 93 deletions
+19 -7
View File
@@ -2,6 +2,8 @@
set -euo pipefail
source /opt/backup/metrics.sh
now=$(date +"%Y%m%d%H%M")
backup_dir=/home/beeshare/raid/serverBackup
image=docker.io/vaultwarden/server:1.37.1
@@ -9,15 +11,23 @@ container=vaultwarden-restoretest
port=18222
work=$(mktemp -d)
metric_init restoretest
cleanup() {
local raw=$?
local status
status=$(metric_status ${raw})
podman rm -f ${container} >/dev/null 2>&1 || true
rm -rf "${work}"
metric_finish ${status}
exit ${status}
}
trap cleanup EXIT
latest=$(ls -1t ${backup_dir}/beeserver_*.tar.gz.gpg | head -1)
echo "[${now}] restore test using ${latest}"
log "restore test using ${latest}"
gpg --batch --passphrase-file /opt/backup/passphrase.txt -d "${latest}" \
| tar -xzf - -C "${work}" opt/backup/beeserver/vaultwarden
@@ -26,15 +36,15 @@ data="${work}/opt/backup/beeserver/vaultwarden/data"
[[ -s "${data}/db.sqlite3" ]]
[[ -s "${data}/rsa_key.pem" ]]
echo " db and rsa_key present"
log "db and rsa_key present"
integrity=$(sqlite3 "${data}/db.sqlite3" "PRAGMA integrity_check;")
[[ "${integrity}" == "ok" ]]
echo " integrity_check ok"
log "integrity_check ok"
users=$(sqlite3 "${data}/db.sqlite3" "select count(*) from users;")
[[ "${users}" -ge 1 ]]
echo " users ${users}"
log "users ${users}"
email=$(sqlite3 "${data}/db.sqlite3" "select email from users limit 1;")
@@ -51,12 +61,14 @@ done
config=$(curl -sf http://127.0.0.1:${port}/api/config)
[[ "${config}" == *'"version"'* ]]
echo " api/config ok"
log "api/config ok"
prelogin=$(curl -sf -X POST http://127.0.0.1:${port}/identity/accounts/prelogin \
-H 'Content-Type: application/json' \
-d "{\"email\":\"${email}\"}")
[[ "${prelogin}" == *[Kk]df* ]]
echo " prelogin ok for ${email}"
log "prelogin ok for ${email}"
echo "[${now}] restore test PASSED"
metric_archive "${latest}"
log "restore test PASSED"