cs3org / reva

WebDAV/gRPC/HTTP high performance server to link high level clients to storage backends
https://reva.link
Apache License 2.0
171 stars 112 forks source link

add root storage provider that lists the configured storages #426

Open butonic opened 4 years ago

butonic commented 4 years ago

Currently the examples/separate config fakes the root storage by manually seving the availvable namespaces in the root using a local storage driver. The storage-root.toml documents the hack:

https://github.com/cs3org/reva/blob/master/examples/separate/storage-root.toml#L5-L13
# it is used to render the root namespace. you need to create a folder
# layout in "/var/tmp/reva/root" that matches the storage registry:
# tree /var/tmp/reva/root should give for this example
# /var/tmp/reva/root
# ├── home
# └── oc
# that will allow you to list the existing namespaces.
# TODO either make the gateway return a proper ListCollection for the root,
# TODO or implement a virtual storage that implements this
madsi1m commented 4 years ago

I would like to see reva provide this out of the box, I imagine we would want to add more storage providers as time goes by and not need to have storage-root

labkode commented 4 years ago

@madsi1m Reva gives the list of all available storage providers and their root mount point, that is specified here: https://github.com/cs3org/cs3apis/blob/master/cs3/storage/registry/v1beta1/registry_api.proto#L96

The storage-root is just needed for the ownCloud migration setup as far as I know, for example, here we don't use it because our sync clients go directly to /home instead of /.