Goofys With Wasabi
    • 16 Sep 2024
    • 2 Minutes to read
    • PDF

    Goofys With Wasabi

    • PDF

    Article summary

    How do I use Goofys with Wasabi?

    Goofys is a utility that allows users to mount their Wasabi buckets to Linux systems via FUSE. For the purposes of this article we will be utilizing an Ubuntu Server 20.04 LTS host. We will be using Go 1.16.4, and goofys 0.24.0 which are the latest versions as of this article.

    Prerequisites:

    • Goofys relies on FUSE, which must be already installed on your system. FUSE is pre-compiled in popular versions of Linux such as Ubuntu. You may reference the official GitHub repo of FUSE available here.

    • The latest version of Go needs to be installed on your system. You may view the official Go documentation for installation here.

    • Goofys makes use of your API access key pair through the standard ~/.aws/credentials file created and used by AWS CLI. Therefore, we recommend having AWS CLI installed and configured with an API access key pair which has been confirmed to be working with Wasabi.

    • The user which you will be using to access your Wasabi bucket via goofys must have the appropriate permissions to access that bucket, based on your use-case. If you are unfamiliar with assigning Wasabi IAM users permissions to access buckets, please view our KB article here.

    Goofys Installation:

    To install goofys, please run the following commands:

    $ export GOPATH=$HOME/work
    $ go get github.com/kahing/goofys
    $ go install github.com/kahing/goofys

    If you find yourself having issues during installation, please take a look at some user-specific instructions available in this GitHub Issues 527 for goofys found here.

    Once installed, you may mount your Wasabi bucket using the appropriate service URL endpoint for your Wasabi bucket's region. For this article, we will be using a bucket in the us-east-1 region with the service URL endpoint of https://s3.wasabisys.com. Be sure the mount point you wish to mount your Wasabi bucket already exists. If it does not, then create it using the 'mkdir' command.

    Note: This example discusses the use of Wasabi's us-east-1 storage region. To use other Wasabi storage regions, please use the appropriate Wasabi service URL as described in this article.

    To mount your bucket, use the following command. Replace 'my-bucket' with your bucket name, and '/mount-point' with your specific mount directory:

    $GOPATH/bin/goofys --endpoint https://s3.wasabisys.com my-bucket /mount-point

    Once the mount point is successfully created and goofys successfully mounts the bucket, it should return you to the cli prompt:

    $ sudo mkdir /mnt/goofys
    $ sudo $GOPATH/bin/goofys --endpoint https://s3.wasabisys.com wasabi-goofys /mnt/goofys

    You can see in the example above I used the mount point of /mnt/goofys

    Once the bucket is mounted, we can run an 'ls' command to see the objects contained in that bucket:

    $ sudo ls /mnt/goofys
    'Test For Goofys.txt'

    Goofys is now installed on the system, and our Wasabi bucket has been successfully mounted and is now accessible through the local mount point directory.