Skip to main content

GoFUSE is a pyfuse / xmlrpc based distributed filesystem.

Project description

GoFUSE

Description

GoFUSE is a pyfuse / xmlrpc based distributed filesystem. It can be used to quickly share files across an network in testing or development environments.

Installation

GoFUSE depends on FUSE, the 'Filesystem in Userspace' interface. On MacOS you can install the necessary kernel extension with Homebrew using brew install --cask osxfuse. On Linux you could run sudo apt install libfuse. The installation of GoFUSE itself is pretty straight forward.

pip3 install GoFUSE

Usage

python3 -m GoFUSE.server <directory>
python3 -m GoFUSE.client <mountpoint>

Example

To run the GOFUSE server process on localhost (port 5001) you can run this:

SERVER_URL=127.0.0.1:5001 python3 -m GoFUSE.server .

Afterh the server has been started you can mount the directory the server is publishing with the client like this:

SERVER_URL=127.0.0.1:5001 python3 -m GoFUSE.client /mnt/data/

Options

Some GoFUSE internals can be changed using enviromnent variables:

  • SERVER_URL: Define IP/FQDN and port

    • Default: "0.0.0.0:5000"
    • Examples: "127.0.0.1:5001", "192.168.0.1:8080"
  • LOGLEVEL: Change verbosity of logging

    • Default: "ERROR"
    • Examples: "CRITICAL", "ERROR", "WARNING", "INFO", "DEBUG", "NOTSET"
  • PROTOCOL: Change access protocol

    • Default: "http://"
    • Example: "https://"
    • Note: This is only available for the client. If you want to change the protocol the server is using you must use a proxy (that is not included here). This feature is experimental and untested.

Known issues

In docker environments you might have to run containers in privileged mode in order to be able to inject the FUSE extension that is needed.

This filesystem implementation is not intended to be used in production environments - sendig all data via xmlrpc has a rather big overhead and will most likely lead to problems when larger files are transmitted.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

GoFUSE-0.0.8.tar.gz (18.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page