ownCloud Infinite Scale: Reva
This project is under heavy development, it's not in a working state yet!
Install
You can download prebuilt binaries from the GitHub releases or from our download mirrors. For instructions how to install this on your platform you should take a look at our documentation
Development
Make sure you have a working Go environment, for further reference or a guide take a look at the install instructions.
git clone https://github.com/owncloud/ocis-reva.git
cd ocis-reva
make generate build
./bin/ocis-reva -h
To run a demo installation you can use the preconfigured defaults and start all necessary services:
bin/ocis-reva frontend & \
bin/ocis-reva gateway & \
bin/ocis-reva users & \
bin/ocis-reva auth-basic & \
bin/ocis-reva auth-bearer & \
bin/ocis-reva sharing & \
bin/ocis-reva storage-root & \
bin/ocis-reva storage-home & \
bin/ocis-reva storage-home-data & \
bin/ocis-reva storage-oc & \
bin/ocis-reva storage-oc-data
The root storage serves the available namespaces from disk using the local storage driver. In order to be able to navigate into the /home
and /oc
storage providers you have to create these directories:
mkdir /var/tmp/reva/root/home
mkdir /var/tmp/reva/root/oc
Note: the owncloud storage driver currently requires a redis server running on the local machine.
You should now be able to get a file listing of a users home using
curl -X PROPFIND http://localhost:9140/remote.php/dav/files/ -v -u einstein:relativity
Users
The default config uses the demo user backend, which contains three users:
einstein:relativity
marie:radioactivty
richard:superfluidity
For details on the json
and ldap
backends see the documentation
Run oC10 API acceptance tests
-
start an LDAP server e.g. with docker:
docker run --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
-
start a Redis server e.g. with docker:
docker run -e REDIS_DATABASES=1 -p 6379:6379 -d webhippie/redis:latest
-
clone oC10 code:
git clone https://github.com/owncloud/core.git
-
start reva with
REVA_USERS_DRIVER=ldap
:bin/ocis-reva gateway & \ REVA_USERS_DRIVER=ldap bin/ocis-reva users & \ REVA_USERS_DRIVER=ldap bin/ocis-reva auth-basic & \ bin/ocis-reva auth-bearer & \ bin/ocis-reva sharing & \ bin/ocis-reva storage-root & \ bin/ocis-reva storage-home & \ bin/ocis-reva storage-home-data & \ bin/ocis-reva storage-oc & \ bin/ocis-reva storage-oc-data & \ bin/ocis-reva frontend
-
from inside the oC10 repo run the tests:
make test-acceptance-api \ TEST_SERVER_URL=http://localhost:9140 \ TEST_EXTERNAL_USER_BACKENDS=true \ TEST_OCIS=true \ OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \ BEHAT_FILTER_TAGS='~@skipOnOcis&&@TestAlsoOnExternalUserBackend&&~@skipOnLDAP'
Make sure to adjust the settings
TEST_SERVER_URL
andOCIS_REVA_DATA_ROOT
according to your environmentThis will run all tests that can work with LDAP and are not skipped on OCIS To run a subset of tests, e.g. a single suite, file or tag have a look at the acceptance tests documentation. E.g. you can run all tests that are marked with a specific issue:
make test-acceptance-api \ TEST_SERVER_URL=http://localhost:9140 \ TEST_EXTERNAL_USER_BACKENDS=true \ TEST_OCIS=true \ OCIS_REVA_DATA_ROOT=/var/tmp/reva/ \ BEHAT_FILTER_TAGS='@TestAlsoOnExternalUserBackend&&~@skipOnLDAP&&@issue-ocis-reva-46'
Note that the
~@skipOnOcis
tag is removed here, because to fix an issue you want also to run the tests that are skipped in the CI run
Security
If you find a security issue please contact security@owncloud.com first.
Contributing
Fork -> Patch -> Push -> Pull Request
License
Apache-2.0
Copyright
Copyright (c) 2019 ownCloud GmbH <https://owncloud.com>