• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nbari / backup
80%

Build:
DEFAULT BRANCH: main
Repo Added 10 Dec 2023 11:26AM UTC
Token YjqAuYA9IixczNtI1a7Af25BPveXJSLyl regen
Build 125 Last
Files 40
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 0.0.3
  • dependabot/cargo/openssl-0.10.66
  • develop
  • main
  • sandbox

08 Jun 2026 03:56PM UTC coverage: 80.299% (+3.2%) from 77.14%
27150234123

push

github

nbari
data plane: content-addressed blob storage, run upload, and verify/repair

Builds the local write path on top of the metadata engine: a backup `run` now
compresses, encrypts, and writes content-addressed blobs to one or more
configured filesystem destinations, and a new `verify`/`--repair` command keeps
those destinations consistent with the catalog. Version 0.1.0. Unix only.

Storage & config
- content-addressed LocalStore: sharded layout (ab/cd/<id>), atomic temp+rename
  (unique per-writer temp names), overwrite semantics (replaces orphan blobs from
  interrupted runs), hex-only key validation (blocks path traversal), remove()
- per-backup destinations via -t/--to on `new`/`edit` (repeatable; filesystem now,
  s3:// recognized and skipped with a notice)

Run upload (Phase 1)
- seal each new file's content: zstd compress (raw fallback) + ChaCha20-Poly1305,
  content id + codec bound as AAD, per-content key wrapped to the backup public key
- dedup by keyed content id (one set query, not a blocking lookup per file); write
  to every destination; metadata-only when none
- bounded parallel seal/encrypt/store worker pool with progress
- interrupted-run safety: a version is completed only after its blobs are stored,
  so `view` shows the last complete snapshot and a re-run re-stores cleanly

Verify / repair
- existence check across destinations (no secrets); --repair restores missing
  blobs by copying from a healthy destination (key preserved) or re-sealing from
  source when gone everywhere (catalog key updated before blobs; tries duplicate
  sources; errors on a missing Files row; unrecoverable when source gone/changed)
- content ids checked concurrently with a bounded pool; results folded race-free,
  unrecoverable ids returned sorted

Pre-merge hardening
- bind content_id (content/file keys) and a fixed label (naming key) as AAD when
  wrapping keys, so a catalog wrapped-key row can't be reused under another id
- write the public key + sealed naming ... (continued)

1293 of 1479 new or added lines in 27 files covered. (87.42%)

8 existing lines in 5 files now uncovered.

3334 of 4152 relevant lines covered (80.3%)

15.08 hits per line

Relevant lines Covered
Build:
Build:
4152 RELEVANT LINES 3334 COVERED LINES
15.08 HITS PER LINE
Source Files on main
  • Tree
  • List 40
  • Changed 24
  • Source Changed 24
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27150234123 main data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 04:02PM UTC nbari github
80.3
27150222772 develop data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 04:02PM UTC nbari github
80.3
27150053611 sandbox data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 03:59PM UTC nbari github
80.3
27149471032 sandbox data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 03:49PM UTC nbari github
80.3
27147588672 sandbox data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 03:18PM UTC nbari github
79.93
27145885383 sandbox data plane: content-addressed blob storage, run upload, and verify/repair Builds the local write path on top of the metadata engine: a backup `run` now compresses, encrypts, and writes content-addressed blobs to one or more configured filesystem ... push 08 Jun 2026 02:51PM UTC nbari github
80.0
27141759415 sandbox verify: detect catalog↔store drift and repair missing blobs Add a verify command that re-checks every destination against the catalog. run trusts the catalog when deciding what to upload, so blobs deleted directly from a destination go unnoticed;... push 08 Jun 2026 01:44PM UTC nbari github
78.83
27133041432 sandbox docs: expand .backupignore section with syntax + Rust/Terraform example Document gitignore-style syntax (anchored vs unanchored, dir-only trailing slash, globs, comments, negation) and where the file applies (nests like .gitignore). Add a Rust + ... push 08 Jun 2026 11:01AM UTC nbari github
78.56
27130690190 sandbox run: interrupted-run safety (version completion flag) + fix orphan blob reuse Two fixes for the cancel/re-run scenario: - Correctness: LocalStore.put now OVERWRITES (atomic temp+rename) instead of skipping when the object exists. An interrupte... push 08 Jun 2026 10:13AM UTC nbari github
78.56
27103070725 sandbox config: add per-backup destinations (-t/--to) on new and edit Where to store a backup is now configurable (DESIGN §6.7): new/edit take -t/--to <path|s3-target> (repeatable, not existence-checked) and edit also --rm-to; stored in a config_destinat... push 07 Jun 2026 07:56PM UTC nbari github
77.49
See All Builds (123)

Badge your Repo: backup

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc