FAQ
What dumont is, what it isn't, and why.
Is dumont a FUSE mount?
No. dumont is a stateless CLI — each invocation routes a URI to a backend and
exits. There's no daemon and nothing to mount. The vfs.FileSystem interfaces
are kept mount-ready so a FUSE layer could be added later, but it's out of scope
today.
Does it support two-way sync?
No. sync is one-way by design: it makes the destination mirror the source.
Bidirectional, conflict-resolving sync is explicitly out of scope.
How does sync decide what changed?
By size and modification time (source-newer-than-dest). Checksum-based comparison is a planned follow-on.
Can object stores really do random writes?
Not natively — object stores replace whole objects. dumont can emulate random
write, append, and in-place truncate via read-modify-write
(emulate: true), which stages the object locally and
re-uploads on close. It's correct but non-atomic and O(filesize), so it's
opt-in and clearly labelled. Without it, those operations return
ErrNotSupported rather than silently doing the wrong thing.
Where are my credentials stored?
Nowhere by dumont. Config holds references — env:VAR, file:/path, or
keychain:service/account — resolved on first use. Your config file never
contains a secret, so it's safe to commit. See
Configuration.
Why is Bunny Stream a "lossy" backend?
Stream is a video API, not a byte store — it keeps HLS/MP4 renditions, not your original upload. dumont projects it as a filesystem for convenience (collections as directories, videos as files), but reads are best-effort against CDN renditions. It's the one deliberate exception to dumont's "no lossy projections" rule, and it says so loudly. See Bunny Stream.
What does "be honest" actually mean?
A backend advertises exactly what it can do via its
Caps, and the conformance suite verifies those claims
against real behavior. Anything a backend can't do correctly fails with a typed
error. dumont would rather return ErrNotSupported than quietly corrupt your
data.
Which stores work today?
Local disk, in-memory, any S3-compatible store (AWS, R2, MinIO, GCS interop,
…), Bunny Edge Storage, Bunny Stream, ZIP/tar archives, and HTTP(S) sources.
A Google Drive (gdrive) backend and a webdav:// backend are planned. See
Backends.
Why "dumont"?
It's named after Tron's Dumont, guardian of the I/O Tower — the gateway through which Programs reach the world beyond the Grid. dumont plays the same role for your data: one honest door between otherwise-walled storage worlds.