From 24e84f9bc24c1eea23d303117567031726d9a3b7 Mon Sep 17 00:00:00 2001 From: Michael Barz Date: Mon, 5 Oct 2020 21:54:59 +0200 Subject: [PATCH] Update Docs --- docs/extensions/ocis-reva/getting-started.md | 56 --- docs/extensions/ocis-reva/releasing.md | 47 --- docs/extensions/ocis-reva/users.md | 52 --- .../{ocis-reva => storage}/_index.md | 4 +- .../{ocis-reva => storage}/building.md | 8 +- .../{ocis-reva => storage}/configuration.md | 350 +++++++++--------- .../{ocis-reva => storage}/license.md | 4 +- docs/extensions/storage/releasing.md | 31 ++ .../{ocis-reva => storage}/storages.md | 26 +- .../{ocis-reva => storage}/testing.md | 4 +- .../{ocis-reva => storage}/updating.md | 6 +- docs/extensions/storage/users.md | 52 +++ 12 files changed, 284 insertions(+), 356 deletions(-) delete mode 100644 docs/extensions/ocis-reva/getting-started.md delete mode 100644 docs/extensions/ocis-reva/releasing.md delete mode 100644 docs/extensions/ocis-reva/users.md rename docs/extensions/{ocis-reva => storage}/_index.md (93%) rename docs/extensions/{ocis-reva => storage}/building.md (84%) rename docs/extensions/{ocis-reva => storage}/configuration.md (66%) rename docs/extensions/{ocis-reva => storage}/license.md (75%) create mode 100644 docs/extensions/storage/releasing.md rename docs/extensions/{ocis-reva => storage}/storages.md (83%) rename docs/extensions/{ocis-reva => storage}/testing.md (98%) rename docs/extensions/{ocis-reva => storage}/updating.md (68%) create mode 100644 docs/extensions/storage/users.md diff --git a/docs/extensions/ocis-reva/getting-started.md b/docs/extensions/ocis-reva/getting-started.md deleted file mode 100644 index e7140676e..000000000 --- a/docs/extensions/ocis-reva/getting-started.md +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: "Getting Started" -date: 2018-05-02T00:00:00+00:00 -weight: 15 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs -geekdocFilePath: getting-started.md ---- - -{{< toc >}} - -## Installation - -So far we are offering two different variants for the installation. You can choose between [Docker](https://www.docker.com/) or pre-built binaries which are stored on our download mirrors and GitHub releases. Maybe we will also provide system packages for the major distributions later if we see the need for it. - -### Docker - -Docker images for ocis-reva are hosted on https://hub.docker.com/r/owncloud/ocis-reva. - -The `latest` tag always reflects the current master branch. - -```console -docker pull owncloud/ocis-reva -``` - -#### Dependencies - -- Running ocis-reva currently needs a working Redis caching server -- The default storage location in the container is `/var/tmp/reva/data`. You may want to create a volume to persist the files in the primary storage - -### Binaries - -The pre-built binaries for different platforms are downloadable at https://download.owncloud.com/ocis/ocis-reva/ . Specific releases are organized in separate folders. They are in sync which every release tag on GitHub. The binaries from the current master branch can be found in https://download.owncloud.com/ocis/ocis-reva/testing/ - -```console -curl https://download.owncloud.com/ocis/ocis/1.0.0-beta1/ocis-reva-1.0.0-beta1-darwin-amd64 --output ocis-reva -chmod +x ocis -./ocis-reva sharing -``` - -#### Dependencies - -- Running ocis currently needs a working Redis caching server -- The default promary storage location is `/var/tmp/reva/data`. You can change that value by configuration. - -## Usage - -The program provides a few sub-commands on execution. The available configuration methods have already been mentioned above. Generally you can always see a formated help output if you execute the binary via `ocis-reva --help`. - -### Health - -The health command is used to execute a health check, if the exit code equals zero the service should be up and running, if the exist code is greater than zero the service is not in a healthy state. Generally this command is used within our Docker containers, it could also be used within Kubernetes. - -{{< highlight txt >}} -ocis-reva health --help -{{< / highlight >}} diff --git a/docs/extensions/ocis-reva/releasing.md b/docs/extensions/ocis-reva/releasing.md deleted file mode 100644 index b233ca59c..000000000 --- a/docs/extensions/ocis-reva/releasing.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: "Releasing" -date: 2020-05-22T00:00:00+00:00 -weight: 60 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs -geekdocFilePath: releasing.md ---- - -{{< toc >}} - -To release a new version of ocis-reva, you have to follow a few simple steps. - -## Preparation - -1. Before releasing, make sure that reva has been [updated to the desired version]({{< ref "updating.md" >}}) -2. Create a new branch e.g. `release-x.x.x` where `x.x.x` is the version you want to release. -3. Checkout the preparation branch. -4. Create a new changelog folder and move the unreleased snippets there. -{{< highlight txt >}} -mkdir changelog/x.x.x_yyyy-MM-dd/ # yyyy-MM-dd is the current date -mv changelog/unreleased/* changelog/x.x.x_yyyy-MM-dd/ -{{< / highlight >}} -5. Commit and push the changes -{{< highlight txt >}} -git add --all -git commit -m "prepare release x.x.x" -git push origin release-x.x.x -{{< / highlight >}} -6. Create a pull request to the master branch. - -## Release -1. After the preparation branch has been merged update your local master. -2. [Wait for CI](https://cloud.drone.io/owncloud/ocis-reva) to generate a commit for the changelog update -3. Check out master (or make sure to check out the generated changelog commit in case of subsequent merges) -{{< highlight txt >}} -git checkout master -git pull origin master -{{< / highlight >}} -4. Create a new tag (preferably signed) and replace the version number accordingly. -{{< highlight txt >}} -git tag -s vx.x.x -m "release vx.x.x" -git push origin vx.x.x -{{< / highlight >}} -5. Wait for CI and check that the GitHub release was published. - -Congratulations, you just released ocis-reva! diff --git a/docs/extensions/ocis-reva/users.md b/docs/extensions/ocis-reva/users.md deleted file mode 100644 index 475c21290..000000000 --- a/docs/extensions/ocis-reva/users.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: "Users" -date: 2020-01-16T00:00:00+00:00 -weight: 35 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs -geekdocFilePath: users.md ---- - -### Demo driver - -This is a simple user driver for testing. It contains three users: -``` -einstein:relativity -marie:radioactivty -richard:superfluidity -``` -In order to use the `demo` driver you need to export the relevant environment variable: -``` -export REVA_USERS_DRIVER=demo -``` - -### JSON driver - -In order to switch from the `ldap` driver to JSON based users you need to export the relevant environment variables: -``` -export REVA_USERS_DRIVER=json -export REVA_USERS_JSON=/path/to/users.json -``` - -For the format of the users.json have a look at the [reva examples](https://github.com/cs3org/reva/blob/master/examples/separate/users.demo.json) - -### LDAP driver - -This is the default user driver. - -If the below defaults don't match your environment change them accordingly: -``` -export REVA_LDAP_HOSTNAME=localhost -export REVA_LDAP_PORT=9126 -export REVA_LDAP_BASE_DN='dc=example,dc=org' -export REVA_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))' -export REVA_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))' -export REVA_LDAP_BIND_DN='cn=reva,ou=sysusers,dc=example,dc=org' -export REVA_LDAP_BIND_PASSWORD=reva -export REVA_LDAP_SCHEMA_UID=uid -export REVA_LDAP_SCHEMA_MAIL=mail -export REVA_LDAP_SCHEMA_DISPLAYNAME=sn -export REVA_LDAP_SCHEMA_CN=cn -``` - -Then restart the `bin/ocis-reva users` and `bin/ocis-reva auth-basic` services for the changes to take effect. diff --git a/docs/extensions/ocis-reva/_index.md b/docs/extensions/storage/_index.md similarity index 93% rename from docs/extensions/ocis-reva/_index.md rename to docs/extensions/storage/_index.md index ab942240c..d0d0545b5 100644 --- a/docs/extensions/ocis-reva/_index.md +++ b/docs/extensions/storage/_index.md @@ -2,8 +2,8 @@ title: "Reva" date: 2018-05-02T00:00:00+00:00 weight: 10 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: _index.md --- diff --git a/docs/extensions/ocis-reva/building.md b/docs/extensions/storage/building.md similarity index 84% rename from docs/extensions/ocis-reva/building.md rename to docs/extensions/storage/building.md index cebab803f..737937a06 100644 --- a/docs/extensions/ocis-reva/building.md +++ b/docs/extensions/storage/building.md @@ -2,16 +2,16 @@ title: "Building" date: 2018-05-02T00:00:00+00:00 weight: 30 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: building.md --- As this project is built with Go, so you need to install that first. The installation of Go is out of the scope of this document, please follow the official documentation for [Go](https://golang.org/doc/install).To build this project you have to install Go >= v1.13. After the installation of the required tools you need to get the sources: {{< highlight txt >}} -git clone https://github.com/owncloud/ocis-reva.git -cd ocis-reva +git clone https://github.com/owncloud/ocis.git +cd ocis/storage {{< / highlight >}} All required tool besides Go itself and make are bundled or getting automatically installed within the `GOPATH`. All commands to build this project are part of our `Makefile`. diff --git a/docs/extensions/ocis-reva/configuration.md b/docs/extensions/storage/configuration.md similarity index 66% rename from docs/extensions/ocis-reva/configuration.md rename to docs/extensions/storage/configuration.md index a66cb1f5d..3c0f272d8 100644 --- a/docs/extensions/ocis-reva/configuration.md +++ b/docs/extensions/storage/configuration.md @@ -2,8 +2,8 @@ title: "Configuration" date: "2020-09-21T13:14:49+0200" weight: 20 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: configuration.md --- @@ -43,16 +43,16 @@ Example service for Reva/oCIS Usage: `ocis-reva [global options] command [command options] [arguments...]` ---config-file | $REVA_CONFIG_FILE +--config-file | $REVA_CONFIG_FILE : Path to config file. ---log-level | $REVA_LOG_LEVEL +--log-level | $REVA_LOG_LEVEL : Set logging level. Default: `info`. ---log-pretty | $REVA_LOG_PRETTY +--log-pretty | $REVA_LOG_PRETTY : Enable pretty logging. ---log-color | $REVA_LOG_COLOR +--log-color | $REVA_LOG_COLOR : Enable colored logging. ## Sub Commands @@ -63,25 +63,25 @@ Start reva authprovider for basic auth Usage: `ocis-reva auth-basic [command options] [arguments...]` ---debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR +--debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9147`. ---auth-driver | $REVA_AUTH_DRIVER +--auth-driver | $REVA_AUTH_DRIVER : auth driver: 'demo', 'json' or 'ldap'. Default: `ldap`. ---auth-json | $REVA_AUTH_JSON +--auth-json | $REVA_AUTH_JSON : Path to users.json file. ---network | $REVA_AUTH_BASIC_NETWORK +--network | $REVA_AUTH_BASIC_NETWORK : Network to use for the reva auth-basic service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_AUTH_BASIC_PROTOCOL +--protocol | $REVA_AUTH_BASIC_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_AUTH_BASIC_ADDR +--addr | $REVA_AUTH_BASIC_ADDR : Address to bind reva service. Default: `0.0.0.0:9146`. ---url | $REVA_AUTH_BASIC_URL +--url | $REVA_AUTH_BASIC_URL : URL to use for the reva service. Default: `localhost:9146`. ### ocis-reva frontend @@ -90,46 +90,46 @@ Start reva frontend service Usage: `ocis-reva frontend [command options] [arguments...]` ---debug-addr | $REVA_FRONTEND_DEBUG_ADDR +--debug-addr | $REVA_FRONTEND_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9141`. ---transfer-secret | $REVA_TRANSFER_SECRET +--transfer-secret | $REVA_TRANSFER_SECRET : Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. ---webdav-namespace | $WEBDAV_NAMESPACE +--webdav-namespace | $WEBDAV_NAMESPACE : Namespace prefix for the /webdav endpoint. Default: `/home/`. ---dav-files-namespace | $DAV_FILES_NAMESPACE +--dav-files-namespace | $DAV_FILES_NAMESPACE : Namespace prefix for the webdav /dav/files endpoint. Default: `/oc/`. ---network | $REVA_FRONTEND_NETWORK +--network | $REVA_FRONTEND_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_FRONTEND_PROTOCOL +--protocol | $REVA_FRONTEND_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_FRONTEND_ADDR +--addr | $REVA_FRONTEND_ADDR : Address to bind reva service. Default: `0.0.0.0:9140`. ---url | $REVA_FRONTEND_URL +--url | $REVA_FRONTEND_URL : URL to use for the reva service. Default: `https://localhost:9200`. ---datagateway-prefix | $REVA_FRONTEND_DATAGATEWAY_PREFIX +--datagateway-prefix | $REVA_FRONTEND_DATAGATEWAY_PREFIX : datagateway prefix. Default: `data`. ---ocdav-prefix | $REVA_FRONTEND_OCDAV_PREFIX +--ocdav-prefix | $REVA_FRONTEND_OCDAV_PREFIX : owncloud webdav endpoint prefix. ---ocs-prefix | $REVA_FRONTEND_OCS_PREFIX +--ocs-prefix | $REVA_FRONTEND_OCS_PREFIX : open collaboration services endpoint prefix. Default: `ocs`. ---gateway-url | $REVA_GATEWAY_URL +--gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. ---upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS +--upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS : Disables TUS upload mechanism. Default: `false`. ---upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE +--upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE : Specify an HTTP method (ex: POST) that clients should to use when uploading instead of PATCH. ### ocis-reva gateway @@ -138,100 +138,100 @@ Start reva gateway Usage: `ocis-reva gateway [command options] [arguments...]` ---debug-addr | $REVA_GATEWAY_DEBUG_ADDR +--debug-addr | $REVA_GATEWAY_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9143`. ---transfer-secret | $REVA_TRANSFER_SECRET +--transfer-secret | $REVA_TRANSFER_SECRET : Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. ---network | $REVA_GATEWAY_NETWORK +--network | $REVA_GATEWAY_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_GATEWAY_PROTOCOL +--protocol | $REVA_GATEWAY_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_GATEWAY_ADDR +--addr | $REVA_GATEWAY_ADDR : Address to bind reva service. Default: `0.0.0.0:9142`. ---url | $REVA_GATEWAY_URL +--url | $REVA_GATEWAY_URL : URL to use for the reva service. Default: `localhost:9142`. ---commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT +--commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT : Commit shares to the share manager. Default: `true`. ---commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF +--commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF : Commit shares to the storage. Default: `true`. ---share-folder | $REVA_GATEWAY_SHARE_FOLDER +--share-folder | $REVA_GATEWAY_SHARE_FOLDER : mount shares in this folder of the home storage provider. Default: `Shares`. ---disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN +--disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN : Disable creation of home folder on login. ---storage-registry-driver | $REVA_STORAGE_REGISTRY_DRIVER +--storage-registry-driver | $REVA_STORAGE_REGISTRY_DRIVER : driver of the storage registry. Default: `static`. ---storage-home-provider | $REVA_STORAGE_HOME_PROVIDER +--storage-home-provider | $REVA_STORAGE_HOME_PROVIDER : mount point of the storage provider for user homes in the global namespace. Default: `/home`. ---frontend-url | $REVA_FRONTEND_URL +--frontend-url | $REVA_FRONTEND_URL : URL to use for the reva service. Default: `https://localhost:9200`. ---datagateway-url | $REVA_DATAGATEWAY_URL +--datagateway-url | $REVA_DATAGATEWAY_URL : URL to use for the reva datagateway. Default: `https://localhost:9200/data`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ---auth-basic-url | $REVA_AUTH_BASIC_URL +--auth-basic-url | $REVA_AUTH_BASIC_URL : URL to use for the reva service. Default: `localhost:9146`. ---auth-bearer-url | $REVA_AUTH_BEARER_URL +--auth-bearer-url | $REVA_AUTH_BEARER_URL : URL to use for the reva service. Default: `localhost:9148`. ---sharing-url | $REVA_SHARING_URL +--sharing-url | $REVA_SHARING_URL : URL to use for the reva service. Default: `localhost:9150`. ---storage-root-url | $REVA_STORAGE_ROOT_URL +--storage-root-url | $REVA_STORAGE_ROOT_URL : URL to use for the reva service. Default: `localhost:9152`. ---storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH +--storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH : mount path. Default: `/`. ---storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID +--storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009152`. ---storage-home-url | $REVA_STORAGE_HOME_URL +--storage-home-url | $REVA_STORAGE_HOME_URL : URL to use for the reva service. Default: `localhost:9154`. ---storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH +--storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH : mount path. Default: `/home`. ---storage-home-mount-id | $REVA_STORAGE_HOME_MOUNT_ID +--storage-home-mount-id | $REVA_STORAGE_HOME_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009154`. ---storage-eos-url | $REVA_STORAGE_EOS_URL +--storage-eos-url | $REVA_STORAGE_EOS_URL : URL to use for the reva service. Default: `localhost:9158`. ---storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH +--storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH : mount path. Default: `/eos`. ---storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID +--storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. ---storage-oc-url | $REVA_STORAGE_OC_URL +--storage-oc-url | $REVA_STORAGE_OC_URL : URL to use for the reva service. Default: `localhost:9162`. ---storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH +--storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH : mount path. Default: `/oc`. ---storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID +--storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. ---public-link-url | $REVA_STORAGE_PUBLIC_LINK_URL +--public-link-url | $REVA_STORAGE_PUBLIC_LINK_URL : URL to use for the public links service. Default: `localhost:9178`. ---storage-public-link-mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH +--storage-public-link-mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH : mount path. Default: `/public/`. ### ocis-reva sharing @@ -240,28 +240,28 @@ Start reva sharing service Usage: `ocis-reva sharing [command options] [arguments...]` ---debug-addr | $REVA_SHARING_DEBUG_ADDR +--debug-addr | $REVA_SHARING_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9151`. ---network | $REVA_SHARING_NETWORK +--network | $REVA_SHARING_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_SHARING_PROTOCOL +--protocol | $REVA_SHARING_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_SHARING_ADDR +--addr | $REVA_SHARING_ADDR : Address to bind reva service. Default: `0.0.0.0:9150`. ---url | $REVA_SHARING_URL +--url | $REVA_SHARING_URL : URL to use for the reva service. Default: `localhost:9150`. ---user-driver | $REVA_SHARING_USER_DRIVER +--user-driver | $REVA_SHARING_USER_DRIVER : driver to use for the UserShareProvider. Default: `json`. ---user-json-file | $REVA_SHARING_USER_JSON_FILE +--user-json-file | $REVA_SHARING_USER_JSON_FILE : file used to persist shares for the UserShareProvider. Default: `/var/tmp/reva/shares.json`. ---public-driver | $REVA_SHARING_PUBLIC_DRIVER +--public-driver | $REVA_SHARING_PUBLIC_DRIVER : driver to use for the PublicShareProvider. Default: `json`. ### ocis-reva storage-home-data @@ -270,37 +270,37 @@ Start reva storage-home-data service Usage: `ocis-reva storage-home-data [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9157`. ---network | $REVA_STORAGE_HOME_DATA_NETWORK +--network | $REVA_STORAGE_HOME_DATA_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL +--protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_STORAGE_HOME_DATA_ADDR +--addr | $REVA_STORAGE_HOME_DATA_ADDR : Address to bind reva service. Default: `0.0.0.0:9156`. ---url | $REVA_STORAGE_HOME_DATA_URL +--url | $REVA_STORAGE_HOME_DATA_URL : URL to use for the reva service. Default: `localhost:9156`. ---driver | $REVA_STORAGE_HOME_DATA_DRIVER +--driver | $REVA_STORAGE_HOME_DATA_DRIVER : storage driver for home data mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`. ---prefix | $REVA_STORAGE_HOME_DATA_PREFIX +--prefix | $REVA_STORAGE_HOME_DATA_PREFIX : prefix for the http endpoint, without leading slash. Default: `data`. ---temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER +--temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER : temp folder. Default: `/var/tmp/`. ---enable-home | $REVA_STORAGE_HOME_ENABLE_HOME +--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME : enable the creation of home directories. Default: `true`. ---gateway-url | $REVA_GATEWAY_URL +--gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ### ocis-reva health @@ -309,7 +309,7 @@ Check health status Usage: `ocis-reva health [command options] [arguments...]` ---debug-addr | $REVA_DEBUG_ADDR +--debug-addr | $REVA_DEBUG_ADDR : Address to debug endpoint. Default: `0.0.0.0:9109`. ### ocis-reva storage-home @@ -318,40 +318,40 @@ Start reva storage-home service Usage: `ocis-reva storage-home [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9155`. ---network | $REVA_STORAGE_HOME_NETWORK +--network | $REVA_STORAGE_HOME_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_HOME_PROTOCOL +--protocol | $REVA_STORAGE_HOME_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_HOME_ADDR +--addr | $REVA_STORAGE_HOME_ADDR : Address to bind reva service. Default: `0.0.0.0:9154`. ---url | $REVA_STORAGE_HOME_URL +--url | $REVA_STORAGE_HOME_URL : URL to use for the reva service. Default: `localhost:9154`. ---driver | $REVA_STORAGE_HOME_DRIVER +--driver | $REVA_STORAGE_HOME_DRIVER : storage driver for home mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`. ---mount-path | $REVA_STORAGE_HOME_MOUNT_PATH +--mount-path | $REVA_STORAGE_HOME_MOUNT_PATH : mount path. Default: `/home`. ---mount-id | $REVA_STORAGE_HOME_MOUNT_ID +--mount-id | $REVA_STORAGE_HOME_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. ---expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER +--expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER : exposes a dedicated data server. Default: `false`. ---data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL +--data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL : data server url. Default: `http://localhost:9156/data`. ---enable-home | $REVA_STORAGE_HOME_ENABLE_HOME +--enable-home | $REVA_STORAGE_HOME_ENABLE_HOME : enable the creation of home directories. Default: `true`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ### ocis-reva storage-eos-data @@ -360,34 +360,34 @@ Start reva storage-eos-data service Usage: `ocis-reva storage-eos-data [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9161`. ---network | $REVA_STORAGE_EOS_DATA_NETWORK +--network | $REVA_STORAGE_EOS_DATA_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL +--protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_STORAGE_EOS_DATA_ADDR +--addr | $REVA_STORAGE_EOS_DATA_ADDR : Address to bind reva service. Default: `0.0.0.0:9160`. ---url | $REVA_STORAGE_EOS_DATA_URL +--url | $REVA_STORAGE_EOS_DATA_URL : URL to use for the reva service. Default: `localhost:9160`. ---driver | $REVA_STORAGE_EOS_DATA_DRIVER +--driver | $REVA_STORAGE_EOS_DATA_DRIVER : storage driver for eos data mount: eg. local, eos, owncloud, ocis or s3. Default: `eos`. ---prefix | $REVA_STORAGE_EOS_DATA_PREFIX +--prefix | $REVA_STORAGE_EOS_DATA_PREFIX : prefix for the http endpoint, without leading slash. Default: `data`. ---temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER +--temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER : temp folder. Default: `/var/tmp/`. ---gateway-url | $REVA_GATEWAY_URL +--gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ### ocis-reva reva-storage-public-link @@ -396,25 +396,25 @@ Start reva storage-public-link service Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9179`. ---network | $REVA_STORAGE_PUBLIC_LINK_NETWORK +--network | $REVA_STORAGE_PUBLIC_LINK_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL +--protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_PUBLIC_LINK_ADDR +--addr | $REVA_STORAGE_PUBLIC_LINK_ADDR : Address to bind reva service. Default: `0.0.0.0:9178`. ---url | $REVA_STORAGE_PUBLIC_LINK_URL +--url | $REVA_STORAGE_PUBLIC_LINK_URL : Address to bind reva service. Default: `localhost:9178`. ---mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH +--mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH : mount path. Default: `/public/`. ---gateway-url | $REVA_GATEWAY_URL +--gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. ### ocis-reva users @@ -423,52 +423,52 @@ Start reva users service Usage: `ocis-reva users [command options] [arguments...]` ---debug-addr | $REVA_SHARING_DEBUG_ADDR +--debug-addr | $REVA_SHARING_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9145`. ---network | $REVA_USERS_NETWORK +--network | $REVA_USERS_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_USERS_PROTOCOL +--protocol | $REVA_USERS_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_USERS_ADDR +--addr | $REVA_USERS_ADDR : Address to bind reva service. Default: `0.0.0.0:9144`. ---url | $REVA_USERS_URL +--url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ---driver | $REVA_USERS_DRIVER +--driver | $REVA_USERS_DRIVER : user driver: 'demo', 'json', 'ldap', or 'rest'. Default: `ldap`. ---json-config | $REVA_USERS_JSON +--json-config | $REVA_USERS_JSON : Path to users.json file. ---rest-client-id | $REVA_REST_CLIENT_ID +--rest-client-id | $REVA_REST_CLIENT_ID : User rest driver Client ID. ---rest-client-secret | $REVA_REST_CLIENT_SECRET +--rest-client-secret | $REVA_REST_CLIENT_SECRET : User rest driver Client Secret. ---rest-redis-address | $REVA_REST_REDIS_ADDRESS +--rest-redis-address | $REVA_REST_REDIS_ADDRESS : Address for redis server. Default: `localhost:6379`. ---rest-redis-username | $REVA_REST_REDIS_USERNAME +--rest-redis-username | $REVA_REST_REDIS_USERNAME : Username for redis server. ---rest-redis-password | $REVA_REST_REDIS_PASSWORD +--rest-redis-password | $REVA_REST_REDIS_PASSWORD : Password for redis server. ---rest-id-provider | $REVA_REST_ID_PROVIDER +--rest-id-provider | $REVA_REST_ID_PROVIDER : The OIDC Provider. ---rest-api-base-url | $REVA_REST_API_BASE_URL +--rest-api-base-url | $REVA_REST_API_BASE_URL : Base API Endpoint. ---rest-oidc-token-endpoint | $REVA_REST_OIDC_TOKEN_ENDPOINT +--rest-oidc-token-endpoint | $REVA_REST_OIDC_TOKEN_ENDPOINT : Endpoint to generate token to access the API. ---rest-target-api | $REVA_REST_TARGET_API +--rest-target-api | $REVA_REST_TARGET_API : The target application. ### ocis-reva auth-bearer @@ -477,34 +477,34 @@ Start reva authprovider for bearer auth Usage: `ocis-reva auth-bearer [command options] [arguments...]` ---debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR +--debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9149`. ---oidc-issuer | $REVA_OIDC_ISSUER +--oidc-issuer | $REVA_OIDC_ISSUER : OIDC issuer. Default: `https://localhost:9200`. ---oidc-insecure | $REVA_OIDC_INSECURE +--oidc-insecure | $REVA_OIDC_INSECURE : OIDC allow insecure communication. Default: `true`. ---oidc-id-claim | $REVA_OIDC_ID_CLAIM +--oidc-id-claim | $REVA_OIDC_ID_CLAIM : OIDC id claim. Default: `preferred_username`. ---oidc-uid-claim | $REVA_OIDC_UID_CLAIM +--oidc-uid-claim | $REVA_OIDC_UID_CLAIM : OIDC uid claim. ---oidc-gid-claim | $REVA_OIDC_GID_CLAIM +--oidc-gid-claim | $REVA_OIDC_GID_CLAIM : OIDC gid claim. ---network | $REVA_AUTH_BEARER_NETWORK +--network | $REVA_AUTH_BEARER_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_AUTH_BEARER_PROTOCOL +--protocol | $REVA_AUTH_BEARER_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_AUTH_BEARER_ADDR +--addr | $REVA_AUTH_BEARER_ADDR : Address to bind reva service. Default: `0.0.0.0:9148`. ---url | $REVA_AUTH_BEARER_URL +--url | $REVA_AUTH_BEARER_URL : URL to use for the reva service. Default: `localhost:9148`. ### ocis-reva storage-eos @@ -513,34 +513,34 @@ Start reva storage-eos service Usage: `ocis-reva storage-eos [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9159`. ---network | $REVA_STORAGE_EOS_NETWORK +--network | $REVA_STORAGE_EOS_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_EOS_PROTOCOL +--protocol | $REVA_STORAGE_EOS_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_EOS_ADDR +--addr | $REVA_STORAGE_EOS_ADDR : Address to bind reva service. Default: `0.0.0.0:9158`. ---url | $REVA_STORAGE_EOS_URL +--url | $REVA_STORAGE_EOS_URL : URL to use for the reva service. Default: `localhost:9158`. ---driver | $REVA_STORAGE_EOS_DRIVER +--driver | $REVA_STORAGE_EOS_DRIVER : storage driver for eos mount: eg. local, eos, owncloud, ocis or s3. Default: `eos`. ---mount-path | $REVA_STORAGE_EOS_MOUNT_PATH +--mount-path | $REVA_STORAGE_EOS_MOUNT_PATH : mount path. Default: `/eos`. ---mount-id | $REVA_STORAGE_EOS_MOUNT_ID +--mount-id | $REVA_STORAGE_EOS_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. ---expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER +--expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER : exposes a dedicated data server. Default: `false`. ---data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL +--data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL : data server url. Default: `http://localhost:9160/data`. ### ocis-reva storage-oc @@ -549,37 +549,37 @@ Start reva storage-oc service Usage: `ocis-reva storage-oc [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9163`. ---network | $REVA_STORAGE_OC_NETWORK +--network | $REVA_STORAGE_OC_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_OC_PROTOCOL +--protocol | $REVA_STORAGE_OC_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_OC_ADDR +--addr | $REVA_STORAGE_OC_ADDR : Address to bind reva service. Default: `0.0.0.0:9162`. ---url | $REVA_STORAGE_OC_URL +--url | $REVA_STORAGE_OC_URL : URL to use for the reva service. Default: `localhost:9162`. ---driver | $REVA_STORAGE_OC_DRIVER +--driver | $REVA_STORAGE_OC_DRIVER : storage driver for oc mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`. ---mount-path | $REVA_STORAGE_OC_MOUNT_PATH +--mount-path | $REVA_STORAGE_OC_MOUNT_PATH : mount path. Default: `/oc`. ---mount-id | $REVA_STORAGE_OC_MOUNT_ID +--mount-id | $REVA_STORAGE_OC_MOUNT_ID : mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. ---expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER +--expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER : exposes a dedicated data server. Default: `false`. ---data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL +--data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL : data server url. Default: `http://localhost:9164/data`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ### ocis-reva storage-oc-data @@ -588,34 +588,34 @@ Start reva storage-oc-data service Usage: `ocis-reva storage-oc-data [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9165`. ---network | $REVA_STORAGE_OC_DATA_NETWORK +--network | $REVA_STORAGE_OC_DATA_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_OC_DATA_PROTOCOL +--protocol | $REVA_STORAGE_OC_DATA_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_STORAGE_OC_DATA_ADDR +--addr | $REVA_STORAGE_OC_DATA_ADDR : Address to bind reva service. Default: `0.0.0.0:9164`. ---url | $REVA_STORAGE_OC_DATA_URL +--url | $REVA_STORAGE_OC_DATA_URL : URL to use for the reva service. Default: `localhost:9164`. ---driver | $REVA_STORAGE_OC_DATA_DRIVER +--driver | $REVA_STORAGE_OC_DATA_DRIVER : storage driver for oc data mount: eg. local, eos, owncloud, ocis or s3. Default: `owncloud`. ---prefix | $REVA_STORAGE_OC_DATA_PREFIX +--prefix | $REVA_STORAGE_OC_DATA_PREFIX : prefix for the http endpoint, without leading slash. Default: `data`. ---temp-folder | $REVA_STORAGE_OC_DATA_TEMP_FOLDER +--temp-folder | $REVA_STORAGE_OC_DATA_TEMP_FOLDER : temp folder. Default: `/var/tmp/`. ---gateway-url | $REVA_GATEWAY_URL +--gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. ---users-url | $REVA_USERS_URL +--users-url | $REVA_USERS_URL : URL to use for the reva service. Default: `localhost:9144`. ### ocis-reva storage-root @@ -624,33 +624,33 @@ Start reva storage-root service Usage: `ocis-reva storage-root [command options] [arguments...]` ---debug-addr | $REVA_STORAGE_ROOT_DEBUG_ADDR +--debug-addr | $REVA_STORAGE_ROOT_DEBUG_ADDR : Address to bind debug server. Default: `0.0.0.0:9153`. ---network | $REVA_STORAGE_ROOT_NETWORK +--network | $REVA_STORAGE_ROOT_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_ROOT_PROTOCOL +--protocol | $REVA_STORAGE_ROOT_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_ROOT_ADDR +--addr | $REVA_STORAGE_ROOT_ADDR : Address to bind reva service. Default: `0.0.0.0:9152`. ---url | $REVA_STORAGE_ROOT_URL +--url | $REVA_STORAGE_ROOT_URL : URL to use for the reva service. Default: `localhost:9152`. ---driver | $REVA_STORAGE_ROOT_DRIVER +--driver | $REVA_STORAGE_ROOT_DRIVER : storage driver for root mount: eg. local, eos, owncloud, ocis or s3. Default: `local`. ---mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH +--mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH : mount path. Default: `/`. ---mount-id | $REVA_STORAGE_ROOT_MOUNT_ID +--mount-id | $REVA_STORAGE_ROOT_MOUNT_ID : mount id. Default: `123e4567-e89b-12d3-a456-426655440001`. ---expose-data-server | $REVA_STORAGE_ROOT_EXPOSE_DATA_SERVER +--expose-data-server | $REVA_STORAGE_ROOT_EXPOSE_DATA_SERVER : exposes a dedicated data server. ---data-server-url | $REVA_STORAGE_ROOT_DATA_SERVER_URL +--data-server-url | $REVA_STORAGE_ROOT_DATA_SERVER_URL : data server url. diff --git a/docs/extensions/ocis-reva/license.md b/docs/extensions/storage/license.md similarity index 75% rename from docs/extensions/ocis-reva/license.md rename to docs/extensions/storage/license.md index 84210633a..6852e63fa 100644 --- a/docs/extensions/ocis-reva/license.md +++ b/docs/extensions/storage/license.md @@ -2,8 +2,8 @@ title: "License" date: 2018-05-02T00:00:00+00:00 weight: 40 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: license.md --- diff --git a/docs/extensions/storage/releasing.md b/docs/extensions/storage/releasing.md new file mode 100644 index 000000000..c0f0b4416 --- /dev/null +++ b/docs/extensions/storage/releasing.md @@ -0,0 +1,31 @@ +--- +title: "Releasing" +date: 2020-05-22T00:00:00+00:00 +weight: 60 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage +geekdocFilePath: releasing.md +--- + +{{< toc >}} + +To release a new version of the storage submodule, you have to follow a few simple steps. + +## Preparation + +1. Before releasing, make sure that reva has been [updated to the desired version]({{< ref "updating.md" >}}) + +## Release +1. Check out master +{{< highlight txt >}} +git checkout master +git pull origin master +{{< / highlight >}} +2. Create a new tag (preferably signed) and replace the version number accordingly. Prefix the tag with the submodule `storage/v`. +{{< highlight txt >}} +git tag -s storage/vx.x.x -m "release vx.x.x" +git push origin storage/vx.x.x +{{< / highlight >}} +5. Wait for CI and check that the GitHub release was published. + +Congratulations, you just released the storage submodule! diff --git a/docs/extensions/ocis-reva/storages.md b/docs/extensions/storage/storages.md similarity index 83% rename from docs/extensions/ocis-reva/storages.md rename to docs/extensions/storage/storages.md index bc623d065..50d55b30b 100644 --- a/docs/extensions/ocis-reva/storages.md +++ b/docs/extensions/storage/storages.md @@ -2,18 +2,18 @@ title: "Storages" date: 2020-04-27T18:46:00+01:00 weight: 37 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: storages.md --- ## Storage commands -`ocis-reva` has multiple storage provider commands to preconfigure different default configurations for the reva *storage provider* service. While you could rerun `ocis-reva storage-oc` multiple times with different flags to get multiple instances we are giving the different commands the necessary default configuration to allow the `ocis` binary to simply start them and not deal with configuration. +`storage` has multiple storage provider commands to preconfigure different default configurations for the reva *storage provider* service. While you could rerun `storage storage-oc` multiple times with different flags to get multiple instances we are giving the different commands the necessary default configuration to allow the `ocis` binary to simply start them and not deal with configuration. ## Storage providers -To manage the file tree ocis uses reva *storage providers* that are accessing the underlying storage using a *storage driver*. The driver can be used to change the implementation of a storage aspect to better reflect the actual underlying storage capabilities. As an example a move operation on a POSIX filesystem ([theoretically](https://danluu.com/deconstruct-files/)) is an atomic operation. When trying to implement a file tree on top of S3 there is no native move operation that can be used. A naive implementation might fall back on a COPY and DELETE. Some S3 implementations provide a COPY operation that uses an existing key as the source, so the file at least does not need to be reuploaded. In the worst case scenario, which is renaming a folder with hundreds of thousands of objects, a reupload for every file has to be made. Instead of hiding this complexity a better choice might be to disable renaming of files or at least folders on S3. There are however implementations of filesystems on top of S3 that store the tree metadata in dedicated objects or use a completely different persistence mechanism like a distributed key value store to implement the file tree aspect of a storage. +To manage the file tree ocis uses storage *storage providers* that are accessing the underlying storage using a *storage driver*. The driver can be used to change the implementation of a storage aspect to better reflect the actual underlying storage capabilities. As an example a move operation on a POSIX filesystem ([theoretically](https://danluu.com/deconstruct-files/)) is an atomic operation. When trying to implement a file tree on top of S3 there is no native move operation that can be used. A naive implementation might fall back on a COPY and DELETE. Some S3 implementations provide a COPY operation that uses an existing key as the source, so the file at least does not need to be reuploaded. In the worst case scenario, which is renaming a folder with hundreds of thousands of objects, a reupload for every file has to be made. Instead of hiding this complexity a better choice might be to disable renaming of files or at least folders on S3. There are however implementations of filesystems on top of S3 that store the tree metadata in dedicated objects or use a completely different persistence mechanism like a distributed key value store to implement the file tree aspect of a storage. {{< hint info >}} @@ -120,7 +120,7 @@ To provide the other storage aspects we plan to implement a FUSE overlay filesys This is the current default storage driver. While it implements the file tree (using redis, including id based lookup), ETag propagation, trash, versions and sharing (including expiry) using the data directory layout of ownCloud 10 it has [known limitations](https://github.com/owncloud/core/issues/28095) that cannot be fixed without changing the actual layout on disk. To setup it up properly in a distributed fashion, the storage-home and the storage-oc need to share the same underlying FS. Their "data" counterparts also need access to the same shared FS. -For a simple docker-compose setup, you can create a volume which will be used by the "ocis-reva-storage-home", "ocis-reva-storage-home-data", "ocis-reva-storage-oc" and "ocis-reva-storage-oc-data" containers. Using the `owncloud/ocis-reva` docker image, the volume would need to be hooked in the `/var/tmp/reva` folder insde the containers. +For a simple docker-compose setup, you can create a volume which will be used by the "storage-storage-home", "storage-storage-home-data", "storage-storage-oc" and "storage-storage-oc-data" containers. Using the `owncloud/ocis` docker image, the volume would need to be hooked in the `/var/tmp/ocis` folder insde the containers. - tree provided by a POSIX filesystem - file layout is mapped to the old ownCloud 10 layout @@ -155,20 +155,20 @@ For a simple docker-compose setup, you can create a volume which will be used by ### EOS Storage Driver -The CERN eos storage has evolved with ownCloud and natively supports id based lookup, ETag propagation, subtree size accounting, sharing, trash and versions. To use it you need to change the default configuration of the `ocis-reva storage-home` command (or have a look at the Makefile ̀ eos-start` target): +The CERN eos storage has evolved with ownCloud and natively supports id based lookup, ETag propagation, subtree size accounting, sharing, trash and versions. To use it you need to change the default configuration of the `storage storage-home` command (or have a look at the Makefile ̀ eos-start` target): ``` -export REVA_STORAGE_HOME_DRIVER=eos -export REVA_STORAGE_EOS_NAMESPACE=/eos -export REVA_STORAGE_EOS_MASTER_URL="root://eos-mgm1.eoscluster.cern.ch:1094" -export REVA_STORAGE_EOS_ENABLE_HOME=true -export REVA_STORAGE_EOS_LAYOUT="dockertest/{{.Username}}" +export STORAGE_STORAGE_HOME_DRIVER=eos +export STORAGE_STORAGE_EOS_NAMESPACE=/eos +export STORAGE_STORAGE_EOS_MASTER_URL="root://eos-mgm1.eoscluster.cern.ch:1094" +export STORAGE_STORAGE_EOS_ENABLE_HOME=true +export STORAGE_STORAGE_EOS_LAYOUT="dockertest/{{.Username}}" ``` Running it locally also requires the `eos` and `xrootd` binaries. Running it using `make eos-start` will use CentOS based containers that already have the necessary packages installed. {{< hint info >}} -Pull requests to add explicit `reva storage-(s3|custom|...)` commands with working defaults are welcome. +Pull requests to add explicit `storage storage-(s3|custom|...)` commands with working defaults are welcome. {{< /hint >}} ### S3 Storage Driver @@ -177,7 +177,7 @@ A naive driver that treats the keys in an S3 capable storage as `/` delimited pa ## Data Providers -Clients using the CS3 API use an [InitiateFileDownload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileDownloadRequest) and ]InitiateUpload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileUploadRequest) request at the [reva gateway](https://cs3org.github.io/cs3apis/#cs3.gateway.v1beta1.GatewayAPI) to obtain a URL endpoint that can be used to either GET the file content or upload content using the resumable [tus.io](https://tus.io) protocol. +Clients using the CS3 API use an [InitiateFileDownload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileDownloadRequest) and ]InitiateUpload](https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.InitiateFileUploadRequest) request at the [storage gateway](https://cs3org.github.io/cs3apis/#cs3.gateway.v1beta1.GatewayAPI) to obtain a URL endpoint that can be used to either GET the file content or upload content using the resumable [tus.io](https://tus.io) protocol. The *data provider* uses the same *storage driver* as the *storage provider* but can be scaled independently. diff --git a/docs/extensions/ocis-reva/testing.md b/docs/extensions/storage/testing.md similarity index 98% rename from docs/extensions/ocis-reva/testing.md rename to docs/extensions/storage/testing.md index 2c03fd2a1..bc49e3911 100644 --- a/docs/extensions/ocis-reva/testing.md +++ b/docs/extensions/storage/testing.md @@ -2,8 +2,8 @@ title: "Testing" date: 2018-05-02T00:00:00+00:00 weight: 37 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: testing.md --- diff --git a/docs/extensions/ocis-reva/updating.md b/docs/extensions/storage/updating.md similarity index 68% rename from docs/extensions/ocis-reva/updating.md rename to docs/extensions/storage/updating.md index 569c646f3..0afd43494 100644 --- a/docs/extensions/ocis-reva/updating.md +++ b/docs/extensions/storage/updating.md @@ -2,8 +2,8 @@ title: "Updating reva" date: 2020-05-22T00:00:00+00:00 weight: 50 -geekdocRepo: https://github.com/owncloud/ocis-reva -geekdocEditPath: edit/master/docs +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage geekdocFilePath: updating.md --- @@ -15,5 +15,5 @@ geekdocFilePath: updating.md 2. Create a changelog entry containing changes that were done in [reva](https://github.com/cs3org/reva/commits/master) 3. Create a Pull Request to ocis-reva master with those changes 4. If test issues appear, you might need to [adjust the tests]({{< ref "testing.md" >}}) -5. After the PR is merged, consider doing a [release of ocis-reva]({{< ref "releasing.md" >}}) +5. After the PR is merged, consider doing a [release of the storage submodule]({{< ref "releasing.md" >}}) diff --git a/docs/extensions/storage/users.md b/docs/extensions/storage/users.md new file mode 100644 index 000000000..6284b913a --- /dev/null +++ b/docs/extensions/storage/users.md @@ -0,0 +1,52 @@ +--- +title: "Users" +date: 2020-01-16T00:00:00+00:00 +weight: 35 +geekdocRepo: https://github.com/owncloud/ocis +geekdocEditPath: edit/master/docs/extensions/storage +geekdocFilePath: users.md +--- + +### Demo driver + +This is a simple user driver for testing. It contains three users: +``` +einstein:relativity +marie:radioactivty +richard:superfluidity +``` +In order to use the `demo` driver you need to export the relevant environment variable: +``` +export STORAGE_USERS_DRIVER=demo +``` + +### JSON driver + +In order to switch from the `ldap` driver to JSON based users you need to export the relevant environment variables: +``` +export STORAGE_USERS_DRIVER=json +export STORAGE_USERS_JSON=/path/to/users.json +``` + +For the format of the users.json have a look at the [reva examples](https://github.com/cs3org/reva/blob/master/examples/separate/users.demo.json) + +### LDAP driver + +This is the default user driver. + +If the below defaults don't match your environment change them accordingly: +``` +export STORAGE_LDAP_HOSTNAME=localhost +export STORAGE_LDAP_PORT=9126 +export STORAGE_LDAP_BASE_DN='dc=example,dc=org' +export STORAGE_LDAP_USERFILTER='(&(objectclass=posixAccount)(cn=%s))' +export STORAGE_LDAP_GROUPFILTER='(&(objectclass=posixGroup)(cn=%s))' +export STORAGE_LDAP_BIND_DN='cn=reva,ou=sysusers,dc=example,dc=org' +export STORAGE_LDAP_BIND_PASSWORD=reva +export STORAGE_LDAP_SCHEMA_UID=uid +export STORAGE_LDAP_SCHEMA_MAIL=mail +export STORAGE_LDAP_SCHEMA_DISPLAYNAME=sn +export STORAGE_LDAP_SCHEMA_CN=cn +``` + +Then restart the `bin/storage users` and `bin/storage auth-basic` services for the changes to take effect.