gobackup / gobackup/gobackup-operator
[Verify] Backup integrity verification (opt-in, per-Backup)
Nobody has claimed this yet.
- 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 theBackupCRD.- 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
BackupIntegritycondition toFalseand increments a failure metric. - Healthy backups report the condition
True; the feature is off by default.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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