Crate backpak

Source
Expand description

Some big dumb backup system.

See the backup module for an overview and a crappy block diagram.

Modules§

backend
Places where we can make a backup repository - the local filesystem, (eventually) cloud hosts, etc.
backup
Common backup machinery exposed as channel-chomping threads
blob
Defines Blob, our fundamental unit of backup.
chunk
Cut files into content-based chunks.
config
counters
Performance counters: Count how many times we do various important operations.
diff
Diffs two trees and runs a set of callbacks for each difference.
file_util
Utilities for reading files into buffers and checking magic bytes.
filter
fs_tree
Walk filesystem trees and indicate if files have changed.
hashing
Tools for hashing everything we care about into a unique ObjectId
index
Build, read, and write indexes of packs’ contents.
ls
Print trees
pack
Build, read, and write compressed packs of blobs, suitable for storing in a backend
prettify
Change the entire program’s serialization scheme with this one weird trick!
progress
rcu
A simple SPMC RCU doodad.
read
Tools to traverse a repository, reading blobs
repack
Shared utilities to repack blobs, either loose ones in backpak prune or to another repo in backpak copy
snapshot
Build, read and write snapshots of the filesystem to create our backups.
tree
Uniquely ID and store directories and their metadata
ui
upload
uploads files (packs, indexes, snapshots) to a backend