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

[GW] Non configurable storage backends #193

Closed
diocas opened this issue Apr 27, 2020 · 6 comments · Fixed by owncloud/ocis#543
Closed

[GW] Non configurable storage backends #193

diocas opened this issue Apr 27, 2020 · 6 comments · Fixed by owncloud/ocis#543
Assignees
Labels
enhancement New feature or request p3-medium

Comments

@diocas
Copy link

diocas commented Apr 27, 2020

On the gateway, the config is enforcing a limited set of Storage backends.

For us, at CERN, this needs to be configurable. We have multiple EOS backends and we need to be able to mount them.

@diocas diocas changed the title Non configurable storage backends [GW] Non configurable storage backends Apr 27, 2020
@diocas
Copy link
Author

diocas commented Jun 30, 2020

Any update on this? This will be a blocker to deploy ocis-reva at CERN. Ofc we could just deploy Reva directly.
@butonic @labkode Do you have any comments on this? With the changes in the Reva config maybe some other things will also have to change or not?

@labkode
Copy link
Member

labkode commented Jul 14, 2020

@butonic @felixboehm we are deploying OCIS for our production-like use cases but we need to address this issue as we'll run many storage providers instead of only one for EOS.

@labkode
Copy link
Member

labkode commented Jul 30, 2020

Ping

@butonic
Copy link
Member

butonic commented Aug 20, 2020

I see the problem. The ocis-reva gateway currently uses the static storage provider registry and only has 6 "slots" for storage providers.

I remember you wanted to be able to point ocis-reva to a custom reva config, which I think makes sense as well, as it would allow you to configure the storage registry accordingly.

In the long run I would prefer to have a dynamic registry for storage providers as we want to allow users to request 'spaces' which should be provisioned dynamically.

Theoretically, the current gateway can be configured to serve 7 storage providers:
https://github.com/owncloud/ocis-reva/blob/4ddffcb26119c7035bc86ac51f5a7df96b271673/pkg/command/gateway.go#L133-L146

But not all of them already have an environment variable:
https://github.com/owncloud/ocis-reva/blob/4ddffcb26119c7035bc86ac51f5a7df96b271673/pkg/flagset/gateway.go#L232-L328

We did this to be able to preconfigure a set of storageproviders with different configurations which are started when running ocis. For a production deployment I would expect st. like a docker compose that configures the storage providers. But as I said, I see that it is not possible to configure more then 3 with the current ocis-reva gateway.

I think it makes sense to add a config file option instead of trying to flatten more storage providers entries for the registry. Hm actually we could introduce REVA_STORAGE_REGISTRY_RULES as a multi value env var, similar to PHOENIX_WEB_CONFIG_APPS. We had a lengthy discussion about this in the past: owncloud/ocis-phoenix#28 maybe @refs can clarify if and how StringSplice works now.

AFAICT PHOENIX_WEB_CONFIG_APPS="files,draw-io" should work as chi uses , to split the env ver string into slices.

so `REVA_STORAGE_REGISTRY_RULES="/=localhost:9162,1284d238-aa92-42ce-bdc4-0b0000009154=localhost:9162" would be possible.

I still prefer a config file for this case, but for docker compose REVA_STORAGE_REGISTRY_RULES might be more appealing.

@butonic
Copy link
Member

butonic commented Aug 20, 2020

It is also possible to use ocis-proxy to route requests to a dedicated reva instance: https://github.com/owncloud/ocis-proxy/blob/97f228b17faad20aca97dec9d0a42b276214e4d0/pkg/proxy/proxy.go#L266-L289

@butonic butonic transferred this issue from owncloud/ocis-reva Aug 28, 2020
@butonic butonic added the enhancement New feature or request label Aug 28, 2020
@butonic butonic self-assigned this Sep 8, 2020
@butonic
Copy link
Member

butonic commented Sep 8, 2020

fixed by owncloud/ocis-reva#461

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request p3-medium
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants