Adding a peer

Work in progress: this functionality is not ready yet. It is
provided here to give you an idea of what things might look like.
See the status page.

To share volumes with another computer, we need to add it as a peer.
The arguments to bazil peer add are NAME and DIALER ARGS....
NAME is just a way to refer to this peer. DIALER selects the
communication mechanism.

pocketgopher$ bazil peer add desktop ssh squirrel.example.com

The ssh dialer

The ssh dialer will use your SSH authorization (agent, keys and
passphrase, as needed) to connect to the given hostname, and talks to
the Bazil server there. It adds the remote as a peer to your local
instance, and the local instance as a peer to the remote (with no way
to dial back configured, yet).

Sharing volumes

Work in progress: this functionality is not ready yet. It is
provided here to give you an idea of what things might look like.
See the status page.

Once you have a peer configured, you can create a new local volume
that is synchronized with a volume on the peer. Because our
communication mechanism is ssh, we don’t need the peer to grant us
permission; we’re running commands on the remote computer already,
with access to the relevant files.

The usage is bazil volume link PEER/VOLUME [NEWVOLUME]

pocketgopher$ bazil volume link desktop/mascots mascots

Offline use

Work in progress: this functionality is not ready yet. It is
provided here to give you an idea of what things might look like.
See the status page.

To make file content available locally, without the network
connection, we pin the data.

Multiple Bazil instances

By default, configuration and file data are stored in
platform-specific user data directories: ~/.local/share/bazil/ on
many unixes, ~/Library/Application Support/bazil on OS X.

The bulk file data can be moved around later, but this directory is
used as the starting point. If you want to use multiple Bazil data
stores, with completely separate volumes – for example, to test a new
build before using it for real – use

$ bazil -data-dir=PATH ...

Projects

Bazil is a distributed file system designed
for single-person disconnected operation. It lets you share your
files across all your computers, with or without cloud services.

FUSE is a programming library for writing file
systems in userspace, in Go.