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.
Head to Documentation for documentation or download to get the latest available release.
Read the getting started guide and the other feature guides.
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.
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
There are currently two major versions in active development.
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.
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.
See https://hub.docker.com/r/cs3org/reva.
You can extend Reva without having to create PR's to this repo. To do so, you can create plugins, pease checkout the Tutorials.
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.
Reva logo's have been designed and contributed to the project by Eamonn Maguire.
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.