Skip to content

feat: add verified backup, restore, and logical data transfer - #34

Open
mahoshojoHCG wants to merge 4 commits into
mainfrom
codex/issue-13
Open

feat: add verified backup, restore, and logical data transfer#34
mahoshojoHCG wants to merge 4 commits into
mainfrom
codex/issue-13

Conversation

@mahoshojoHCG

Copy link
Copy Markdown
Contributor

Summary

  • add sdw-backup create/list/verify/restore with PostgreSQL custom dumps, config/password/Data Protection/plugin state, compression, retention, optional age encryption, whole-archive and per-file SHA-256 verification, compatibility/space/path preflight, safety snapshots, and failure webhooks
  • package the CLI and opt-in systemd timer, wire container backup storage, and document RPO/RTO, media exclusions, upgrade snapshots, encryption, and disaster recovery
  • add checksummed, category-selective logical JSON export/import for feeds, automation policies, filename rules, current metadata corrections, playback progress, and preferences with skip/overwrite/fail conflict behavior
  • add PostgreSQL round-trip/rollback tests and a CI drill that creates, verifies, rejects corrupted/incompatible restores before writes, restores into a fresh database, and health-checks the recovered app

Media files and transient Valkey state remain intentionally outside the database backup; the recovery guide describes their separate protection requirements. Local directories are the built-in MVP target and the guide defines the boundary for immutable remote uploaders.

Validation

  • dotnet test SecondDimensionWatcherReDive.slnx --no-restore — 416 passed
  • PostgreSQL logical transfer round-trip, stable-key mapping, idempotency, and transactional rollback — 3 passed
  • deployments/tests/backup-restore-smoke.sh — create, verify, corruption rejection, fresh-database restore, and state comparison passed
  • dotnet ef migrations has-pending-model-changes ... — no pending model changes
  • Bash syntax, workflow YAML parsing, and git diff --check passed

A local Containerfile build reached yarn install --immutable but the registry repeatedly aborted package downloads; the repository's container workflow will retry the complete image build in CI.

Closes #13

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-08-29T14:51:22.736397Z ef2780e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ef2780e2be

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

Comment thread deployments/sdw-backup Outdated
Comment thread deployments/sdw-backup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[P1] 提供备份、恢复与数据导入导出

1 participant