Skip to content

Document RocksDB backup & restore operations#590

Draft
cb1kenobi wants to merge 5 commits into
mainfrom
docs/rocksdb-backup-operations
Draft

Document RocksDB backup & restore operations#590
cb1kenobi wants to merge 5 commits into
mainfrom
docs/rocksdb-backup-operations

Conversation

@cb1kenobi

@cb1kenobi cb1kenobi commented Jul 16, 2026

Copy link
Copy Markdown
Member

Summary

Documents the RocksDB backup & restore feature shipping in 5.2 (companion to HarperFast/harper#1831), in a dedicated Backups reference section:

  • Backups / Overview (reference/backups/overview.md) — how the backup system works (incremental managed backups, snapshot download), its limitations (engine support, granularity, single storage root, online-vs-offline restore matrix), and two worked examples: incremental backup/restore with harper create_backup / harper restore_backup, and harper get_backup streaming a tar.gz off-host plus the manual restore procedure (stop Harper, extract into the database directory under storage.path).
  • Backups / Operations (reference/backups/operations.md) — all seven operations (create_backup, list_backups, verify_backup, delete_backup, purge_backups, restore_backup, get_backup) with Operations API and CLI examples.
  • EngineBadge component (src/components/EngineBadge.tsx, globally registered like VersionBadge) tags storage-engine support per operation: the managed operations are RocksDB-only; get_backup supports both RocksDB and LMDB.
  • Operations API (reference/operations-api/operations.md) — Backup & Restore trimmed to the brief index pattern used by Logs/Certificate Management, linking to the new section.
  • CLI (reference/cli/commands.md) — the Backup Commands section is removed (content lives in Backups now); the backup operations are listed in the CLI operations table (reference/cli/operations-api-commands.md).
  • Configuration (reference/configuration/options.md) — the backupPath storage option (default <rootPath>/backup).
  • Release notes (release-notes/v5-lincoln/5.2.md) — Backup & Restore entry, linking to the new section.

Where to look

  • The manual-restore example in the Overview instructs extracting the archive into <storage.path>/<database> (default ~/hdb/database/data) — path verified against DATABASES_DIR_NAME in core and rocksdb-js's tar layout (entries unpack directly into a directory that opens as a RocksDB database, including transaction_logs/). Worth a second pair of eyes since a wrong path here damages user data.
  • Cross-model review (Codex) surfaced four accuracy issues, all fixed in this branch: the whole-database claim now carves out LMDB get_backup partial exports, the single-root-store restriction is documented as a limitation, the super_user requirement is scoped to server-invoked operations (offline CLI is filesystem-governed), and LMDB manual restore points at storage.path rather than the default-only path. The Gemini review leg failed to run (headless permission denial), so outside-model coverage is Codex-only.
  • EngineBadge prop shape is a comma-separated string (engines="RocksDB, LMDB") rendered in the same style as VersionBadge — open to a different design.

Reviewers not assigned — leaving that to you.

Generated by an LLM (Claude Fable 5).

🤖 Generated with Claude Code

cb1kenobi and others added 2 commits July 16, 2026 02:12
Covers the new backup/restore Operations API operations (create_backup, list_backups,
verify_backup, delete_backup, purge_backups, restore_backup) and RocksDB support for
get_backup (gzipped-by-default tar; gzip=false for plain tar; remote target support).
Documents when a database can be restored online vs offline (system db and
component-held dbs require the server stopped), the backupPath storage option, and the
5.2 release note.

Companion to HarperFast/harper#1831.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…perations

# Conflicts:
#	release-notes/v5-lincoln/5.2.md
gemini-code-assist[bot]

This comment was marked as resolved.

@github-actions
github-actions Bot temporarily deployed to pr-590 July 16, 2026 07:17 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-590

This preview will update automatically when you push new commits.

Companion to HarperFast/harper#1831.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pr-590 July 16, 2026 07:59 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-590

This preview will update automatically when you push new commits.

…_count)

Matches HarperFast/harper#1831, which now returns snake_case.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions
github-actions Bot temporarily deployed to pr-590 July 16, 2026 15:12 Inactive
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-590

This preview will update automatically when you push new commits.

Backups now has its own sidebar section with an Overview (how the system
works, limitations, worked examples for incremental backup/restore and
get_backup snapshot download + manual restore) and an Operations page
(all seven operations with Operations API and CLI examples).

- Add EngineBadge component (globally registered, like VersionBadge) to
  tag storage-engine support: managed ops are RocksDB-only, get_backup
  supports RocksDB and LMDB
- Remove the Backup Commands section from the CLI commands page; leave a
  pointer next to the volume-snapshot guidance
- Trim operations-api Backup & Restore to the brief index pattern used
  by Logs/Certificate Management, linking to the new section
- Add the backup operations to the CLI operations table
- Drop the hyphenated-alias mention entirely

Cross-model review (Codex) fixes: scope the whole-database claim and
super_user requirement, document the single-root-store restriction, and
point LMDB manual restore at storage.path rather than the default path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🚀 Preview Deployment

Your preview deployment is ready!

🔗 Preview URL: https://preview.harper-documentation.harperfabric.com/pr-590

This preview will update automatically when you push new commits.

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.

1 participant