james.maesandClaude Sonnet 5.5 b928920989 feat(restore): restore, catalog import and download processes
backupRestore (Restore... on backups_run) and backupRestoreTable (Restore this table
on backups_artifact): inputs for tables, per-table filters, target table, mode
(INSERT_NEW, UPSERT, REPLACE), match key, id strategy (PRESERVE, REMAP_NEW_IDS with
backups_id_map and reference rewriting) and options. Review is a real dry run with
per-table summary lines (inserted, updated, unchanged, skipped, deleted, conflicts,
orphans, schema, sequences, files) and a masked sample diff. Execute takes the
pre-restore backup, writes in manifest order in page transactions behind a
RestoreWriter (core RestoreWriteFlag and resyncKeySequences selected reflectively),
restores files through the content-addressed store with a SHA-256 re-check, and
records backups_restore_run and backups_restore_run_table rows. Safety rails enforced
in the engine.

backupImportCatalog rebuilds backups_run and backups_artifact from the manifests under a
bucket alias and prefix (trigger IMPORTED). backupDownload issues audited presigned
links, ciphertext only.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-12 18:51:37 -05:00

QBit Backups

License Java

QQQ QBit: logical backup, restore and verification of QQQ data to S3-compatible storage.

Status: design: QRun-IO/qqq#1091; implementation in progress. Nothing is published yet.

Requirements

  • Java 21.
  • QQQ 4.1 (built against 4.1.0-RC.4).

Install

Not yet published. Once released, add com.kingsrook.qbits:qbit-backups and produce the qbit into your QInstance:

new BackupsQBitProducer()
   .withQBitConfig(new BackupsQBitConfig().withBackendName("rdbms"))
   .produce(qInstance);

Naming

Tables are backups_<name> (lowercase snake_case, backend name equal to the table name). Permissions are backups.<action>.

Adopting in another app

Follow the QQQ adoption checklist once the first release is published.

Build

./mvnw verify

Always use the Maven wrapper (Maven 3.9.11); Maven 3.10 cannot read the parent POM.

License

Apache License 2.0. See LICENSE and NOTICE.

S
Description
QQQ QBit: logical backup, restore and verification of QQQ data to S3-compatible storage
Readme
20 MiB
0 Stars 3 Watchers 0 Forks
Languages
Java 100%