Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add endpoint for storage layout information #1404

Open
mateusz-garlacz opened this issue Jan 18, 2021 · 3 comments
Open

Add endpoint for storage layout information #1404

mateusz-garlacz opened this issue Jan 18, 2021 · 3 comments

Comments

@mateusz-garlacz
Copy link

Hi,

Now the information regarding storage providers is read from configuration file. I would like to ask for API extension, i.e. an endpoint from which the client could obtain the information about current storage providers settings. This would be useful in T4.1 in translating file paths from reva into Jupyterlab. Basically, a map should be returned, so for example given the configuration like:

[grpc.services.storageprovider]
driver = "local"
mount_path = "/reva"
mount_id = "123e4567-e89b-12d3-a456-426655440000"
data_server_url = "http://localhost:18001/data"

The endpoint should return {"123e4567-e89b-12d3-a456-426655440000" => "/reva"} and other entries, in case of multiple storage providers.

Regards

@butonic
Copy link
Contributor

butonic commented Apr 27, 2021

This will be covered by owncloud/ocis#1827 ...

let me add 2 cents:

I don`t think we should be exposing infrastructure identifiers like the mount_id of a storage provider. While it is used for routing I think we should have logic storage space identifiers that better identify e.g. user homes or project drives. A storage provider serves multiple storage spaces.

Yas that would add an entry in the storage registry for every user home, every project drive and also every share. But this map could be a cache that is filled by querying the statically configured storage providers about the storage spaces.

The above mentioned ADR goes into more detail, but in a gist we want to be able to list all storage spaces the current user has access to, including shares and including an etag to determine if the sync client needs to start a discovery for that storage space.

cc @dragotin @labkode

@labkode
Copy link
Member

labkode commented Apr 27, 2021

@mateusz-garlacz this info is already exposed by calling this method:
https://cs3org.github.io/cs3apis/#cs3.storage.registry.v1beta1.ListStorageProvidersRequest

However, this is not exposed in the gateway, we can make it public so you can use it.

What @butonic points to is a higher layer to expose these endpoints to the ownCloud clients and also include spaces that are not necessarily a storage provider.

@butonic
Copy link
Contributor

butonic commented Apr 27, 2021

the gateway does expose the ListStorageSpaces endpoints , but they are not implemented in storage providers, yet. https://cs3org.github.io/cs3apis/#cs3.storage.provider.v1beta1.ListStorageSpacesRequest

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants