Skip to content
This repository has been archived by the owner on Jan 18, 2021. It is now read-only.

separate reva services #4

Merged
merged 1 commit into from
Jan 17, 2020
Merged

Conversation

butonic
Copy link
Member

@butonic butonic commented Jan 15, 2020

fixes #6

  • run reva as separate services
    • one service port, either http or grpc
    • one debug port for metrics
      • teach reva the endpoints we have or get the metrics from reva
  • currently allows configuring ldap, demo and a json file as user backents
  • introduce opinionated way of configuring an instance
  • mkdir root storage namespaces until reva can render the root listing dynamically
    • documented ... too much of a hack to add this to eg the storage-root
  • create PR against ocis to preconfigure this
  • separate service flags
  • check if basic auth works out of the box (it should)
  • add desktop & mobile client ids for the oidc provider, tracked in add desktop & mobile client ids for the oidc provider #5
  • update docs & readme

@butonic butonic self-assigned this Jan 15, 2020
@butonic butonic added the enhancement New feature or request label Jan 15, 2020
@butonic butonic requested a review from refs January 15, 2020 21:01
@butonic
Copy link
Member Author

butonic commented Jan 15, 2020

@refs the flags obviously explode but I am not sure if I can split the server.go in multiple files. I am currently using only a single debug configuraton ... hm but moving to multiple flagset files would make that easier as well ... I'll try that tomorrow.

@butonic
Copy link
Member Author

butonic commented Jan 15, 2020

to test

  1. build ocis and run bin/ocis micro & bin/ocis phoenix
  2. mkdir /var/tmp/reva/root/home && mkdir /var/tmp/reva/root/oc
  3. build this pr and run
bin/ocis-reva gateway & \
bin/ocis-reva users & \
bin/ocis-reva auth-basic & \
bin/ocis-reva auth-bearer & \
bin/ocis-reva sharing & \
bin/ocis-reva storage-root & \
bin/ocis-reva storage-home & \
bin/ocis-reva storage-home-data & \
bin/ocis-reva storage-oc & \
bin/ocis-reva storage-oc-data

That should give you a working reva & phoenix

try using an ldap server using env vars: REVA_USERS_DRIVER=ldap REVA_LDAP_HOSTNAME=localhost REVA_LDAP_PORT=369 ... see bin/ocis-reva users --help | grep ldap for the related env vars, cli options should work as well.

@butonic butonic force-pushed the separate-services branch 2 times, most recently from 19f16d5 to 920160b Compare January 16, 2020 13:08
@butonic
Copy link
Member Author

butonic commented Jan 16, 2020

basic auth works, checked

curl -X PROPFIND http://localhost:9140/remote.php/dav/files/ -u einstein:relativity -v
curl -X PROPFIND http://localhost:9140/remote.php/webdav/home/ -u einstein:relativity -v

@butonic butonic force-pushed the separate-services branch 3 times, most recently from 4f18404 to 3049767 Compare January 16, 2020 20:47
@butonic butonic marked this pull request as ready for review January 16, 2020 20:48
update config

add desktop client with all localhost ports

split flagsets

add user docs

update readme

Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Copy link
Member

@refs refs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ouch, was in the middle of a review when it got merged. I'll propose a way of dealing with reva config that is type safe and doesn't bloat this part of the codebase


The initial version would only allow us to use a set of reva configurations to start multiple services.
We use a more opinionated set of commands to start dedicated services that allows us to configure them individually.
It allowcs us to switch eg. the user backend to LDAP and fully it on the cli.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

allows*

the user backend to LDAP and fully it on the cli -> the user backend to LDAP fully it on the cli

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

Successfully merging this pull request may close these issues.

Add opinionated configuration
2 participants