Skip to content

Backup restore: support reading base backups from a Barman Cloud object-store layout as a fallback (read-only, tar-based) #81

Description

@gbartolini

Problem

Klio has no way to restore a base backup produced by the Barman Cloud plugin prior to migration, unless that backup is deliberately imported into Kopia. When a requested backupID isn't found in Klio's own catalog, there's currently no way to know whether it exists in a Barman Cloud tar-mode layout in the same object store, nor any way to retrieve it.

Requirements

  • Read-only: no re-encoding of Barman Cloud backups into Kopia, no retention, pinning, or write of any kind against them.
  • No dependency on the barman-cloud plugin being installed or running.
  • Must handle Barman Cloud's tar-mode backup layout, including multi-tablespace backups, and all its supported compression variants (none, gzip, bzip2, snappy).
  • Backup ID resolution between Klio's <cluster>-backup-<timestamp> convention and Barman Cloud's own backup-id format must be unambiguous in both directions.
  • Behaviour must be configuration-gated: fully inert when disabled, with no extra object-store calls and no change to existing behaviour.

Verification

  • A restore request for a backupID absent from Klio's native catalog successfully resolves and restores from a matching Barman Cloud tar-mode backup, feature enabled.
  • Multi-tablespace backups restore to the correct locations.
  • All three compression variants restore correctly.
  • With the feature disabled, behaviour and object-store call volume are identical to today.
  • No write, retention, or pin operation is ever issued against the Barman Cloud objects, confirmed by test.
  • Covered by an integration/e2e test against a real Barman Cloud tar backup (single- and multi-tablespace cases).

Open questions

  • Confirm exact Barman Cloud backup-id format and timezone semantics.
  • Confirm the mapping between a Klio backupID and its corresponding Barman Cloud backup-id is unambiguous in both directions.

Out of scope

  • Any write path back into Klio's own catalog.
  • WAL retrieval past the restored base backup (sibling WAL fallback ticket).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions