owncloud / product

ownCloud Product Backlog
GNU Lesser General Public License v3.0
0 stars 1 forks source link

[OCIS] Rework ocis-reva commands and env vars #216

Open PVince81 opened 4 years ago

PVince81 commented 4 years ago

There is a difference between storage provider and storage driver, but the environment variable names are all mixed up and cause great confusion.

For ocis all we want to do with ocis-reva server is to start reva in a configuration that brings up reva services that use a specific driver. Either eos or ocis.

We should implement ocis-reva server to start multiplve services using pman. We need at least three storageproviders, one mounted at /home, one mounted at /users, one mounted at /meta or /sys for eg the accounts service.

We should also rename the env variables, maybe include "_EOSDRIVER" and "EOS PROVIDER" in the new names.

The confusion greatly increases the probability of human error due to misunderstanding and slows debugging efforts (already happened before)

PVince81 commented 4 years ago

as discussed with @butonic, we should reduce the env vars and configurations to only two:

because the current configuration is extremely confusing. The REVAXXX variables are referring to the matching mount point, so REVAEOS are for the "/eos" mount point while REVAOC* is for "/oc" and can use any driver. One could use the eos driver for "/oc".

the simplification in two would make it clearer what drivers to be used. and even here, it is likely that one should only ever pick a single driver for both "home" and "root"...

PVince81 commented 4 years ago

let's introduce REVADRIVER* variables for configuring the drivers themselves

PVince81 commented 4 years ago

when spaces are introduced, we could have an additional mount:

that would likely be REVA_STORAGE_SPACES_xxx with its own driver

PVince81 commented 4 years ago

we might also want to get rid of those extra services and only have a "storage" and "storage-data" service, and have a driver or mount point attached to it, and the ability to start multiple ones in parallel

exalate-issue-sync[bot] commented 4 years ago

Jörn Friedrich Dreyer commented: ocis-reva has the different storage * commands because we wanted to be able to preconfigure the different drivers so that you could switch from eg owncloud to eos by using a different storage provider. I think it makes more sense to start with three storage commands: home, users and meta (which ineumann is using to store account metadata)

the home an users storage only differ in the home enabled flag .... hm or should we combine that as well ... so there would be a single commant to start an eos-reva vs an oc-reva ... let me check if we can run start storage providers with a single reva config ... not possible arararrrrrrrr :tableflip: ok, but we could implement a command that just starts two reva instances ... ok that would drastically change the number of commands. to two: ocis-reva server with a --driver option, defaulting to ocis switching it to eos however would start two storage providers (at /home and /users) with eos configured. I like this, but I guess I am overlooking something.