Skip to content

[FEATURE] Backup: Towers of Hanoi rotation strategy #3271#3272

Open
mkf-sysangels wants to merge 2 commits into
bunkerity:devfrom
mkf-sysangels:FEATURE]-Backup-Towers-of-Hanoi-rotation-strategy-#3271
Open

[FEATURE] Backup: Towers of Hanoi rotation strategy #3271#3272
mkf-sysangels wants to merge 2 commits into
bunkerity:devfrom
mkf-sysangels:FEATURE]-Backup-Towers-of-Hanoi-rotation-strategy-#3271

Conversation

@mkf-sysangels

Copy link
Copy Markdown

[FEATURE] Backup: Towers of Hanoi rotation strategy #3271

translations by claude.ai

[FEATURE] Backup: Towers of Hanoi rotation strategy bunkerity#3271

translations by claude.ai

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new “Towers of Hanoi” backup rotation strategy to the Backup core plugin, alongside integrity features (checksums + verification) and operational safeguards, extending BunkerWeb’s backup capabilities beyond simple FIFO retention.

Changes:

  • Add BACKUP_SCHEDULE=hanoi (hourly job) with Towers of Hanoi rotation (24 files, ~85 days coverage).
  • Add SHA-256 checksum generation for backups, checksum verification on restore, and a new bwcli plugin backup check command.
  • Add a disk-space pre-flight check before dumping and adjust locking behavior to reduce lock hold time.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/common/core/backup/plugin.json Exposes hanoi schedule, adds restore checksum override setting, schedules job hourly, adds new bwcli command.
src/common/core/backup/jobs/backup-data.py Implements hourly schedule handling, Hanoi rotation invocation, WAL/lock behavior changes, adds debug logging.
src/common/core/backup/bwcli/save.py Updates CLI save to use WAL detection + post-dump unlocking, integrates updated backup API.
src/common/core/backup/bwcli/check.py New CLI command to verify backup checksums.
src/common/core/backup/backup.py Adds disk-space check, Hanoi rotation logic, checksum write/verify, restore-time verification, and post-dump hook support.
src/common/core/backup/README.md Documents new schedule, checksum behavior, disk-space check, and new CLI command.
src/common/core/backup/README.zh.md Translated docs updated for new schedule/checksum/CLI features.
src/common/core/backup/README.fr.md Translated docs updated for new schedule/checksum/CLI features.
src/common/core/backup/README.es.md Translated docs updated for new schedule/checksum/CLI features.
src/common/core/backup/README.de.md Translated docs updated for new schedule/checksum/CLI features.

Comment thread src/common/core/backup/backup.py
Comment thread src/common/core/backup/jobs/backup-data.py Outdated
Comment thread src/common/core/backup/jobs/backup-data.py Outdated
Comment thread src/common/core/backup/bwcli/save.py Outdated
Comment thread src/common/core/backup/bwcli/save.py Outdated
Comment thread src/common/core/backup/backup.py Outdated
Comment thread src/common/core/backup/backup.py Outdated
@mkf-sysangels

Copy link
Copy Markdown
Author

Hello @TheophileDiot

the PR is ready for code audit and public preview

@TheophileDiot

Copy link
Copy Markdown
Member

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Apr 10, 2026

Copy link
Copy Markdown
✅ Actions performed

Full review triggered.

@coderabbitai

coderabbitai Bot commented Apr 10, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@TheophileDiot has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 5 minutes and 32 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 5 minutes and 32 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 73074c7b-057a-4a16-b833-9e69b9023a70

📥 Commits

Reviewing files that changed from the base of the PR and between 0a0460b and ac8d09b.

📒 Files selected for processing (11)
  • src/common/core/backup/README.de.md
  • src/common/core/backup/README.es.md
  • src/common/core/backup/README.fr.md
  • src/common/core/backup/README.md
  • src/common/core/backup/README.zh.md
  • src/common/core/backup/backup.py
  • src/common/core/backup/bwcli/check.py
  • src/common/core/backup/bwcli/save.py
  • src/common/core/backup/jobs/backup-data.py
  • src/common/core/backup/plugin.json
  • tests/core/backup/main.py

Comment @coderabbitai help to get the list of available commands and usage tips.

@TheophileDiot

Copy link
Copy Markdown
Member

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Apr 10, 2026

Copy link
Copy Markdown
✅ Actions performed

Full review triggered.

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.

3 participants