dumont

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 referencesenv: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.

On this page