Home

Awesome

License GoDoc Gitter chat Build Status Go Report Card FOSSA Status

Reva Logo

Reva is an interoperability platform consisting of several daemons written in Go. It acts as bridge between high-level clients (mobile, web, desktop) and the underlying storage (CephFS, EOS, local filesytems). It exports well-known APIs, like WebDAV, to faciliate access from these devices. It also exports a high-performance gRPC API, codenamed CS3APIS, to easily integrate with other systems. Reva is meant to be a high performant and customizable HTTP and GRPC server.

Installation

Head to Documentation for documentation or download to get the latest available release.

Documentation & Support

Read the getting started guide and the other feature guides.

Contributing: Build and run it yourself

You need to have Go (version 1.21 or higher), git and make installed. Some of these commands may require sudo, depending on your system setup.

# build
$ git clone https://github.com/cs3org/reva
$ cd reva
$ make revad
$ cmd/revad/revad --version

You can also read the build from sources guide and the setup tutorial.

Contributing: Run tests

To run unit tests do: make test-go

To run GRPC integration tests do: make test-integration You can get more verbose output with ginkgo -v -r tests/integration/.

To run EOS tests you need to have an up and running Docker system: make docker-eos-full-tests

Versioning

There are currently two major versions in active development.

1.x versions

The master branch is the stable development branch. Releases from master are tagged as 1.x.x versions following semver. Use this version for standalone deployment.

2.x versions

The edge branch is used as a dependency for ownCloud's OCIS product and differs from 1.X versions. Please do not use 2.X for standalone deployments and always use them as part of the OCIS product.

Docker images

See https://hub.docker.com/r/cs3org/reva.

Plugin development

You can extend Reva without having to create PR's to this repo. To do so, you can create plugins, pease checkout the Tutorials.

License

To promote free and unrestricted adoption of CS3 APIs and the reference implementation Reva by all EFSS implementations and all platforms and application providers, both community and commercial, Open Source and Open Core, CERN released the source code repositories under Apache 2.0 license.

Further evolution of the CS3 APIs will be driven by the needs of the Educational and Research community with the goal of maximizing the portability of the applications and service extensions.

Reva is distributed under Apache 2.0 license.

Logo

Reva logo's have been designed and contributed to the project by Eamonn Maguire.

History

This project was initially conceived and brought to life by Hugo Gonzalez Labrador (@labkode) in 2017. Since its roots, Reva has evolved and expanded thanks to the passion and commitment of dozens of remarkable individual contributors. Learn more.