jwt volumes join secrets as no-backup-by-design: benign skip in clone-backup, exempt from list-restorable restorability

-jwt volumes (EL/CL shared secret) are regenerated at create-node and never
backed up, same as -secrets. Two fixes:

- clone-backup.sh: extend the fd8dd15b secrets skip to *-jwt (both paths)
- list-restorable.sh: exclude *-jwt/*-secrets from the all-volumes-required
  restorability check. Both plasma composes showed Restorable: 0 for days
  (mainnet 407G + testnet 98G+29G data backups present since 07-18/19)
  purely because rpc_plasma-*-jwt had no backup; this misled the 07-16
  plasma restore assessment ('de-32: NO plasma backup').

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
rob
2026-07-22 22:35:08 +00:00
parent fd8dd15b40
commit 511a3621f2
2 changed files with 8 additions and 4 deletions

View File

@@ -305,8 +305,8 @@ transfer_backup() {
backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name")
if [[ -z "$backup_file" ]] || [[ ! -f "$backup_file" ]]; then
if [[ "$volume_name" == *-secrets ]]; then
echo "Note: no backup for secrets volume $volume_name (regenerated at create-node), skipping"
if [[ "$volume_name" == *-secrets || "$volume_name" == *-jwt ]]; then
echo "Note: no backup for secrets/jwt volume $volume_name (regenerated at create-node), skipping"
return 2
fi
echo "Warning: No restorable backup file found for $volume_name, skipping"
@@ -509,8 +509,8 @@ transfer_backup_ssh() {
backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name")
if [[ -z "$backup_file" ]] || [[ ! -f "$backup_file" ]]; then
if [[ "$volume_name" == *-secrets ]]; then
echo "Note: no backup for secrets volume $volume_name (regenerated at create-node), skipping"
if [[ "$volume_name" == *-secrets || "$volume_name" == *-jwt ]]; then
echo "Note: no backup for secrets/jwt volume $volume_name (regenerated at create-node), skipping"
return 2
fi
echo "Warning: No restorable backup file found for $volume_name, skipping"

View File

@@ -122,6 +122,10 @@ while IFS= read -r entry; do
while IFS= read -r volume; do
volume_name="rpc_${volume}"
# jwt/secrets volumes are regenerated at create-node — never backed up by
# design, so they must not gate restorability (kept plasma marked
# non-restorable for days despite full data backups being present)
case "$volume" in *-jwt|*-secrets) continue ;; esac
# Look for backup files matching pattern: rpc_${volume}-[0-9]*G.tar.zst
backup_file=$(select_newest_local_backup "$backup_dir" "$volume_name")