Git Product home page Git Product logo

gcsfuser's Introduction

gcsfuser: A gcsfuse rewrite in Rust

gcsfuser is a WIP Rust rewrite of gcsfuse on top of fuser.

Current status

gcsfuser is not ready for nearly anything (yet). It's also an exploratory project. We already have gcsfuse, but want to use gcsfuser to mostly as a peformance comparison that is written in a safe language (e.g., we chose not to compare with a rewrite in C++, despite our C++ library support for GCS).

Currently, gcsfuser can only handle basic reads and writes (see the included tests). If you use gcsfuser, it'll probably eat your data, trash your buckets, and so on. Do not run it against data you care about. There isn't any support, but patches are welcome (see CONTRIBUTING.md).

Running the tests

Read-only tests run successfully without a service account, but to write to a bucket requires a service account JSON file passed via the GOOGLE_APPLICATION_CREDENTIALS environment variable and specifying your read-write bucket in GCSFUSER_TEST_BUCKET. For example:

GOOGLE_APPLICATION_CREDENTIALS=~/account.json GCSFUSER_TEST_BUCKET=my-private-bucket RUST_LOG=info cargo test -- --nocapture

If you don't set GOOGLE_APPLICATION_CREDENTIALS or don't have write access to GCSFUSER_TEST_BUCKET, you should expect tests that interact with private buckets to fail. The current (2021-March-03) set of failures from a straightforward cargo test:

failures:
    fs::tests::large_write
    fs::tests::small_write
    gcs::tests::get_private_bucket
    gcs::tests::get_private_object
    gcs::tests::write_object_chunks
    gcs::tests::write_object_race
    gcs::tests::write_private_object

gcsfuser's People

Contributors

boulos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.