2.0 KiB
Managing Garage
The garage project provides the network storage component for Isle. If you're reading this document then you would likely benefit greatly from reading the garage documentation on their website. It's extremely well written and concise.
Note that the isle daemon
process will handle all setup steps described
in that documentation, but it's still good to have an understanding of how
garage works and what it can do.
Garage Runtime Note
There is an important thing to note regarding how isle runs garage. As
described in the Contributing Storage document, a
single isle daemon
process can be configured to provide any number of
storage allocations.
For each allocation which is configured, isle daemon
will configure and
run a separate garage server
instance as a sub-process. Each garage will use
the host's name as its zone in the garage cluster layout, which means that the
cluster will prefer to not replicate the same data within the same host, but may
do so if necessary.
Garage CLI
Every isle
binary contains a full garage
binary embedded into it.
This binary can be accessed directly like so:
isle garage cli <subcmd> <args>
Before handing off execution to the garage
binary, the isle
process
will automatically set up the RPC host and secret environment variables.
If the host which is running the command has more than one allocation
configured, then the garage server
process for the first allocation will be
connected to by this invocation of garage
. If no allocations are configured,
then the garage server
process of some other host in the network will be
connected to.
Examples
To display the current layout of the garage cluster:
isle garage cli layout show
(DO NOT CHANGE THE CLUSTER LAYOUT UNLESS YOU KNOW WHAT YOU'RE DOING!)
To create a new bucket:
isle garage cli bucket create new-bucket
To list existing buckets:
isle garage cli bucket list