From 511a3621f2261f9217bb0fba39edee72a53b92c2 Mon Sep 17 00:00:00 2001 From: rob Date: Wed, 22 Jul 2026 22:35:08 +0000 Subject: [PATCH] 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 --- clone-backup.sh | 8 ++++---- list-restorable.sh | 4 ++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/clone-backup.sh b/clone-backup.sh index b3ef6f21..f2f189e7 100755 --- a/clone-backup.sh +++ b/clone-backup.sh @@ -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" diff --git a/list-restorable.sh b/list-restorable.sh index 55483d49..aff058da 100755 --- a/list-restorable.sh +++ b/list-restorable.sh @@ -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")