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 details)

Uploaded Source

File details

Details for the file GoFUSE-0.0.8.tar.gz.

File metadata

  • Download URL: GoFUSE-0.0.8.tar.gz
  • Upload date:
  • Size: 18.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for GoFUSE-0.0.8.tar.gz
Algorithm Hash digest
SHA256 ee0c2e55b035e94fda046dc62669ebc74f3a6b75ddc57e4ce0ec17c312d28f6f
MD5 6ad34e47471c00146f93df8053b8c097
BLAKE2b-256 9c720a5d16210c313babb928963607b81d221e928d1260afb549444fa8582132

See more details on using hashes here.

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