Repository navigation
fix(backup): restore snapshot jobs and verify remote backup bytes - #5406
Conversation
Part of #5376. Preserve the original claim, require active storage binding, and check actual downloaded bytes before remote retention. Restore acceptance remains separate.
…t-cutover-5376-23e2
Represent partial changes without declaring incomplete workloads. Confirm the indexed field names and old values before replacement. Normalized production render remains identical; no scanner rules or runtime privileges change.
…t-cutover-5376-23e2 # Conflicts: # scripts/validate-eks-ci-role-policy/approved-surface-history.md
Preserve the existing snapshot authentication role and token path with a bounded explicit projection. Disable automatic mounting so the new tool installer and remote mirror receive no Kubernetes token. Preserve both reviewed authority records while merging current main.
@coderabbitai review |
|
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 54 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Blocker: none Cleared 2026-10-27: Scope correction: snapshot repair is a direct dependency of the maintainer-requested Email custody and transparent-storage recovery work. It must not be parked as unrelated work merely because production Email availability #5412 remains open. Current main 094218a is merged at signed head 7d2dd43; the sole CI-selector conflict preserves both backup test families. Local backup, recovery and EKS policy suites plus Actionlint pass. Own current-head CI, review, and protected delivery remain unfinished readiness work; #5376 still requires an actual remote restore proof. Previous record (historical): |
@codex review |
The current-head request at 22:35:29 UTC received its provider acknowledgment at 22:35:44 UTC. More than 35 minutes later, fresh review objects, threads and conversation evidence still contain no substantive result for this head, and the no-gate guard admits progression. This records a stalled request, not a successful review. The head still requires a substantive review before promotion. |
|
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7d2dd43. Configure here.
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Ready at User evaluation: the actual native regression job exercised pinned snapshot tooling for both production workloads. Matching remote reads passed; corrupt content and a complete body followed by a transport failure were refused. The rendered replacement-storage handoff passed, and actual isolated restores passed matching, corrupt-snapshot, different-record and wrong-unseal-key controls. This activates the retained replacement snapshot cache and requires verified remote bytes before a snapshot job can succeed. Existing data and the original retained claim are preserved. Deployment, fresh production snapshot completion and the independent restore from #5470 remain required on #5376/#5407 before Email credential custody changes. The ordinary protected queue remains authoritative. |

Why
The daily backup cannot run on its current storage. Moving company Email credentials must wait until recovery is proven.
What
Move snapshot jobs to the prepared recovery storage while preserving the original. Require matching downloaded backup bytes before reporting success; complete the separate restore proof before moving credentials.
Part of #5376