Skip to content
/ reva Public
forked from cs3org/reva

Cloud Storage Sync and Share Interoperability Platform

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.hcl
Notifications You must be signed in to change notification settings

butonic/reva

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License GoDoc Gitter chat Build Status Go Report Card codecov FOSSA Status

REVA Logo

REVA is an interoperability platform. It connects storage, sync and share platforms and application providers, and it does it in a vendor and platform neutral way by using the CS3 APIS.

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.

Build and run it yourself

You need to have Go, git and make installed. Some of these commands may require sudo, depending on your system setup.

$ git clone https://github.com/cs3org/reva
$ cd reva
$ make deps
$ make build
$ mkdir -p /etc/revad
$ cp examples/storage-references/users.demo.json /etc/revad/users.json
$ cp examples/storage-references/groups.demo.json /etc/revad/groups.json
$ cp examples/storage-references/providers.demo.json /etc/revad/ocm-providers.json
$ cmd/revad/revad -dev-dir examples/storage-references

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

Run tests

unit tests / GRPC tests

make test

If you see TestGetManagerWithInvalidUser/Nil_in_user fail, try removing /etc/revad/users.json on your system.

litmus tests

  1. start the needed services

    cd tests/oc-integration-tests/local
    ../../../cmd/revad/revad -c frontend.toml &
    ../../../cmd/revad/revad -c gateway.toml &
    ../../../cmd/revad/revad -c storage-home.toml &
    ../../../cmd/revad/revad -c storage-users.toml &
    ../../../cmd/revad/revad -c users.toml
    
  2. run litmus tests:

    docker run --rm --network=host\
        -e LITMUS_URL=http://localhost:20080/remote.php/webdav \
        -e LITMUS_USERNAME=einstein \
        -e LITMUS_PASSWORD=relativity \
        owncloud/litmus:latest
    
    • add TESTS env. variable to test only a subset of tests e.g -e TESTS="basic http copymove props"
    • change LITMUS_URL for other tests e.g. -e LITMUS_URL=http://localhost:20080/remote.php/dav/files/einstein or to a public-share link
    • if on MacOS you see FAIL (connection refused by '127.0.0.1' port 20080: Connection refused), it may be necessary to replace 'localhost' with your host IP address (e.g. ipconfig getifaddr en0 or sudo ifconfig | grep 192)

ownCloud legacy integration tests

  1. start an LDAP server

    docker run --rm --hostname ldap.my-company.com \
        -e LDAP_TLS_VERIFY_CLIENT=never \
        -e LDAP_DOMAIN=owncloud.com \
        -e LDAP_ORGANISATION=ownCloud \
        -e LDAP_ADMIN_PASSWORD=admin \
        --name docker-slapd \
        -p 127.0.0.1:389:389 \
        -p 636:636 -d osixia/openldap
    
  2. start a REDIS server

    docker run --rm -e REDIS_DATABASES=1 -p 6379:6379 -d webhippie/redis:latest
    
  3. start the needed services

    cd tests/oc-integration-tests/local
    ../../../cmd/revad/revad -c frontend.toml &
    ../../../cmd/revad/revad -c gateway.toml &
    ../../../cmd/revad/revad -c shares.toml &
    ../../../cmd/revad/revad -c storage-home.toml &
    ../../../cmd/revad/revad -c storage-users.toml &
    ../../../cmd/revad/revad -c storage-publiclink.toml &
    ../../../cmd/revad/revad -c ldap-users.toml
    
  4. clone ownCloud 10 git clone https://github.com/owncloud/core.git ./testrunner

  5. clone the testing app git clone https://github.com/owncloud/testing.git ./testrunner/apps/testing

  6. run the tests

    cd testrunner
    TEST_SERVER_URL='http://localhost:20080' \
    OCIS_REVA_DATA_ROOT='/var/tmp/reva/' \
    SKELETON_DIR='./apps/testing/data/apiSkeleton' \
    TEST_WITH_LDAP='true' \
    REVA_LDAP_HOSTNAME='localhost' \
    TEST_REVA='true' \
    BEHAT_FILTER_TAGS='~@skipOnOcis&&~@skipOnOcis-OC-Storage' \
    make test-acceptance-api
    

    This will run all tests that are relevant to reva.

    To run a single test add BEHAT_FEATURE= and specify the path to the feature file and an optional line number. For example: BEHAT_FEATURE='tests/acceptance/features/apiWebdavUpload1/uploadFile.feature:12'

Daily releases

On every commit on the master branch (including merged Pull Requests) a new release will be created and available at daily releases.

Run it using Docker

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

Plugin development

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 Eamon Maguire.

Disclaimer

There is no backward compatibility promises and semantic versioning yet. Semantic versioning will be added once v1.0.0 is reached.

If you want to use it, vendor it. It is always OK to change things to make things better. The API is not 100% correct in the first commit.

About

Cloud Storage Sync and Share Interoperability Platform

Resources

License

Apache-2.0, Unknown licenses found

Licenses found

Apache-2.0
LICENSE
Unknown
license.hcl

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 97.2%
  • Gherkin 2.6%
  • Other 0.2%