gobackup / gobackup/gobackup-operator

[Verify] Backup integrity verification (opt-in, per-Backup)

Open
#94 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Go
Stars
23
Forks
5
PR merge metrics
No merged PRs in 30d

Description

Part of #81. Depends on #92 (shares download/decrypt/decompress).

Summary

Optional per-Backup integrity check: after a successful backup run, re-download the artifact and confirm it decrypts, decompresses, and matches its checksum — catching silent corruption and truncated uploads.

Scope

  • spec.verify.integrity (opt-in) on the Backup CRD.
  • Post-run verification Job that reuses the runner's download/decrypt/decompress path (no DB needed) and validates checksum + successful decode.
  • Surface the result as a status condition (BackupIntegrity) + a Prometheus metric.

Out of scope

  • Actual restore into a DB (that is restore-mode / scheduled test-restore).

Acceptance criteria

  • A corrupted/truncated artifact flips the BackupIntegrity condition to False and increments a failure metric.
  • Healthy backups report the condition True; the feature is off by default.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with issue #92 and the runner's download/decrypt/decompress path, then trace how the Backup CRD exposes spec and status and how metrics are registered. Done means opt-in verification detects corrupted or truncated artifacts, reports the BackupIntegrity condition correctly, increments the failure metric, and leaves the feature disabled by default.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, kubernetes, prometheus
Domain
devops, observability
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.