diff --git a/.drone.star b/.drone.star index e88d37c..6c03e65 100644 --- a/.drone.star +++ b/.drone.star @@ -1,7 +1,7 @@ def main(ctx): before = [ testing(ctx), - apiTests(ctx, 'master', '31dbb9ce87de35165edf85ce9eda8f004c73f9f8'), + apiTests(ctx, 'master', 'ad274cb7f2a20ffba7fb9c65726ae9ef9270e4c0'), ] stages = [ @@ -65,21 +65,24 @@ def apiTests(ctx, coreBranch = 'master', coreCommit = ''): 'REVA_STORAGE_OC_DATA_SERVER_URL': 'http://reva-server:9164/data', 'REVA_STORAGE_OC_DATA_URL': 'reva-server:9164', 'REVA_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379', - 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json' + 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json', + 'REVA_FRONTEND_URL': 'http://reva-server:9140', + 'REVA_DATAGATEWAY_URL': 'http://reva-server:9140/data', }, 'commands': [ 'apk add mailcap', 'mkdir -p /srv/app/tmp/reva', - '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-home &', - 'bin/ocis-reva storage-home-data &', - 'bin/ocis-reva storage-oc &', - 'bin/ocis-reva storage-oc-data &', - 'bin/ocis-reva frontend' + 'bin/ocis-reva --log-level debug --log-pretty gateway &', + 'bin/ocis-reva --log-level debug --log-pretty users &', + 'bin/ocis-reva --log-level debug --log-pretty auth-basic &', + 'bin/ocis-reva --log-level debug --log-pretty auth-bearer &', + 'bin/ocis-reva --log-level debug --log-pretty sharing &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home-data &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc-data &', + 'bin/ocis-reva --log-level debug --log-pretty frontend &', + 'bin/ocis-reva --log-level debug --log-pretty reva-storage-public-link' ], 'volumes': [ { @@ -279,19 +282,22 @@ def testing(ctx): 'REVA_STORAGE_OWNCLOUD_REDIS_ADDR': 'redis:6379', 'REVA_SHARING_USER_JSON_FILE': '/srv/app/tmp/reva/shares.json', 'REVA_OIDC_ISSUER': 'https://konnectd:9130', + 'REVA_FRONTEND_URL': 'http://reva-server:9140', + 'REVA_DATAGATEWAY_URL': 'http://reva-server:9140/data', }, 'commands': [ 'mkdir -p /srv/app/tmp/reva', - '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-home &', - 'bin/ocis-reva storage-home-data &', - 'bin/ocis-reva storage-oc &', - 'bin/ocis-reva storage-oc-data &', - 'bin/ocis-reva frontend' + 'bin/ocis-reva --log-level debug --log-pretty gateway &', + 'bin/ocis-reva --log-level debug --log-pretty users &', + 'bin/ocis-reva --log-level debug --log-pretty auth-basic &', + 'bin/ocis-reva --log-level debug --log-pretty auth-bearer &', + 'bin/ocis-reva --log-level debug --log-pretty sharing &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home &', + 'bin/ocis-reva --log-level debug --log-pretty storage-home-data &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc &', + 'bin/ocis-reva --log-level debug --log-pretty storage-oc-data &', + 'bin/ocis-reva --log-level debug --log-pretty frontend &', + 'bin/ocis-reva --log-level debug --log-pretty reva-storage-public-link' ], 'volumes': [ { diff --git a/changelog/unreleased/update-reva-to-20200625.md b/changelog/unreleased/update-reva-to-20200625.md new file mode 100644 index 0000000..0f38d7c --- /dev/null +++ b/changelog/unreleased/update-reva-to-20200625.md @@ -0,0 +1,19 @@ +Enhancement: update reva to v0.1.1-0.20200625112940-6a2822cb3f15 + +- Updated reva to v0.1.1-0.20200625112940-6a2822cb3f15 (#261) +- TUS upload support through datagateway (#261, reva/#878, reva/#888) +- Added support for differing metrics path for Prometheus to Mentix (reva/#875) +- More data exported by Mentix (reva/#881) +- Implementation of file operations in public folder shares (#49, #293, reva/#877) +- Make httpclient trust local certificates for now (reva/#880) + +https://github.com/owncloud/ocis-reva/pull/261 +https://github.com/cs3org/reva/pull/875 +https://github.com/owncloud/ocis-reva/issues/49 +https://github.com/owncloud/ocis-reva/issues/293 +https://github.com/cs3org/reva/pull/877 +https://github.com/owncloud/ocis-reva/issues/261 +https://github.com/cs3org/reva/pull/878 +https://github.com/cs3org/reva/pull/881 +https://github.com/cs3org/reva/pull/880 +https://github.com/cs3org/reva/pull/888 diff --git a/docs/configuration.md b/docs/configuration.md index cf2d29e..f2523ec 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -1,6 +1,6 @@ --- title: "Configuration" -date: "2020-06-05T14:07:06+0200" +date: "2020-06-24T22:26:40+0200" weight: 20 geekdocRepo: https://github.com/owncloud/ocis-reva geekdocEditPath: edit/master/docs @@ -57,11 +57,11 @@ Usage: `ocis-reva [global options] command [command options] [arguments...]` ## Sub Commands -### ocis-reva sharing +### ocis-reva users -Start reva sharing service +Start reva users service -Usage: `ocis-reva sharing [command options] [arguments...]` +Usage: `ocis-reva users [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -79,7 +79,7 @@ Usage: `ocis-reva sharing [command options] [arguments...]` : Service name for tracing. Default: `reva`. --debug-addr | $REVA_SHARING_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9151`. +: Address to bind debug server. Default: `0.0.0.0:9145`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -93,32 +93,62 @@ Usage: `ocis-reva sharing [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_SHARING_NETWORK +--ldap-hostname | $REVA_LDAP_HOSTNAME +: LDAP hostname. Default: `localhost`. + +--ldap-base-dn | $REVA_LDAP_BASE_DN +: LDAP basedn. Default: `dc=example,dc=org`. + +--ldap-userfilter | $REVA_LDAP_USERFILTER +: LDAP userfilter. Default: `(&(objectclass=posixAccount)(cn=%s*))`. + +--ldap-groupfilter | $REVA_LDAP_GROUPFILTER +: LDAP groupfilter. Default: `(&(objectclass=posixGroup)(cn=%s*))`. + +--ldap-bind-dn | $REVA_LDAP_BIND_DN +: LDAP bind dn. Default: `cn=reva,ou=sysusers,dc=example,dc=org`. + +--ldap-bind-password | $REVA_LDAP_BIND_PASSWORD +: LDAP bind password. Default: `reva`. + +--ldap-idp | $REVA_LDAP_IDP +: Identity provider to use for users. Default: `https://localhost:9200`. + +--ldap-schema-uid | $REVA_LDAP_SCHEMA_UID +: LDAP schema uid. Default: `uid`. + +--ldap-schema-mail | $REVA_LDAP_SCHEMA_MAIL +: LDAP schema mail. Default: `mail`. + +--ldap-schema-displayName | $REVA_LDAP_SCHEMA_DISPLAYNAME +: LDAP schema displayName. Default: `sn`. + +--ldap-schema-cn | $REVA_LDAP_SCHEMA_CN +: LDAP schema cn. Default: `cn`. + +--network | $REVA_USERS_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_SHARING_PROTOCOL +--protocol | $REVA_USERS_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_SHARING_ADDR -: Address to bind reva service. Default: `0.0.0.0:9150`. - ---url | $REVA_SHARING_URL -: URL to use for the reva service. Default: `localhost:9150`. +--addr | $REVA_USERS_ADDR +: Address to bind reva service. Default: `0.0.0.0:9144`. ---user-driver | $REVA_SHARING_USER_DRIVER -: driver to use for the UserShareProvider. Default: `json`. +--url | $REVA_USERS_URL +: URL to use for the reva service. Default: `localhost:9144`. ---user-json-file | $REVA_SHARING_USER_JSON_FILE -: file used to persist shares for the UserShareProvider. Default: `/var/tmp/reva/shares.json`. +--driver | $REVA_USERS_DRIVER +: user driver: 'demo', 'json' or 'ldap'. Default: `ldap`. ---public-driver | $REVA_SHARING_PUBLIC_DRIVER -: driver to use for the PublicShareProvider. Default: `json`. +--json-config | $REVA_USERS_JSON +: Path to users.json file. -### ocis-reva storage-oc +### ocis-reva auth-basic -Start reva storage-oc service +Start reva authprovider for basic auth -Usage: `ocis-reva storage-oc [command options] [arguments...]` +Usage: `ocis-reva auth-basic [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -135,8 +165,8 @@ Usage: `ocis-reva storage-oc [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9163`. +--debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9147`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -150,104 +180,56 @@ Usage: `ocis-reva storage-oc [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_OC_NETWORK -: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. - ---protocol | $REVA_STORAGE_OC_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. - ---addr | $REVA_STORAGE_OC_ADDR -: Address to bind reva service. Default: `0.0.0.0:9162`. - ---url | $REVA_STORAGE_OC_URL -: URL to use for the reva service. Default: `localhost:9162`. - ---driver | $REVA_STORAGE_OC_DRIVER -: storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. - ---mount-path | $REVA_STORAGE_OC_MOUNT_PATH -: mount path. Default: `/oc`. - ---mount-id | $REVA_STORAGE_OC_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. - ---expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER -: exposes a dedicated data server. Default: `true`. - ---data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL -: data server url. Default: `http://localhost:9164/data`. - ---enable-home-creation | $REVA_STORAGE_OC_ENABLE_HOME_CREATION -: if enabled home dirs will be automatically created. Default: `false`. - ---storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE -: Namespace for metadata operations. - ---storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE -: Shadow namespace where share references are stored. - ---storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER -: name of the share folder. - ---storage-eos-binary | $REVA_STORAGE_EOS_BINARY -: Location of the eos binary. Default: `/usr/bin/eos`. - ---storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY -: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. - ---storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL -: URL of the Master EOS MGM. Default: `root://eos-example.org`. - ---storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL -: URL of the Slave EOS MGM. Default: `root://eos-example.org`. +--users-driver | $REVA_USERS_DRIVER +: user driver: 'demo', 'json' or 'ldap'. Default: `ldap`. ---storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY -: Location on the local fs where to store reads. Default: `os.TempDir()`. +--users-json | $REVA_USERS_JSON +: Path to users.json file. ---storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING -: Enables logging of the commands executed. +--ldap-hostname | $REVA_LDAP_HOSTNAME +: LDAP hostname. Default: `localhost`. ---storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES -: show internal EOS files like .sys.v# and .sys.a# files.. +--ldap-base-dn | $REVA_LDAP_BASE_DN +: LDAP basedn. Default: `dc=example,dc=org`. ---storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE -: force connections to EOS to use SingleUsername. +--ldap-userfilter | $REVA_LDAP_USERFILTER +: LDAP userfilter. Default: `(&(objectclass=posixAccount)(cn=%s))`. ---storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB -: authenticate requests by using an EOS keytab. +--ldap-groupfilter | $REVA_LDAP_GROUPFILTER +: LDAP groupfilter. Default: `(&(objectclass=posixGroup)(cn=%s))`. ---storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME -: enable the creation of home directories. +--ldap-bind-dn | $REVA_LDAP_BIND_DN +: LDAP bind dn. Default: `cn=reva,ou=sysusers,dc=example,dc=org`. ---storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL -: the xrootd security protocol to use between the server and EOS. +--ldap-bind-password | $REVA_LDAP_BIND_PASSWORD +: LDAP bind password. Default: `reva`. ---storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB -: the location of the keytab to use to authenticate to EOS. +--ldap-idp | $REVA_LDAP_IDP +: Identity provider to use for users. Default: `https://localhost:9200`. ---storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME -: the username to use when SingleUserMode is enabled. +--ldap-schema-uid | $REVA_LDAP_SCHEMA_UID +: LDAP schema uid. Default: `uid`. ---storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. +--ldap-schema-mail | $REVA_LDAP_SCHEMA_MAIL +: LDAP schema mail. Default: `mail`. ---storage-local-root | $REVA_STORAGE_LOCAL_ROOT -: the path to the local storage root. Default: `/var/tmp/reva/root`. +--ldap-schema-displayName | $REVA_LDAP_SCHEMA_DISPLAYNAME +: LDAP schema displayName. Default: `sn`. ---storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR -: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. +--ldap-schema-cn | $REVA_LDAP_SCHEMA_CN +: LDAP schema cn. Default: `cn`. ---storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN -: scan files on startup to add fileids. Default: `true`. +--network | $REVA_AUTH_BASIC_NETWORK +: Network to use for the reva auth-basic service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR -: the address of the redis server. Default: `:6379`. +--protocol | $REVA_AUTH_BASIC_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME -: enable the creation of home storages. Default: `false`. +--addr | $REVA_AUTH_BASIC_ADDR +: Address to bind reva service. Default: `0.0.0.0:9146`. ---storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. +--url | $REVA_AUTH_BASIC_URL +: URL to use for the reva service. Default: `localhost:9146`. ### ocis-reva storage-oc-data @@ -378,6 +360,72 @@ Usage: `ocis-reva storage-oc-data [command options] [arguments...]` --gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. +### ocis-reva frontend + +Start reva frontend service + +Usage: `ocis-reva frontend [command options] [arguments...]` + +--tracing-enabled | $REVA_TRACING_ENABLED +: Enable sending traces. + +--tracing-type | $REVA_TRACING_TYPE +: Tracing backend type. Default: `jaeger`. + +--tracing-endpoint | $REVA_TRACING_ENDPOINT +: Endpoint for the agent. + +--tracing-collector | $REVA_TRACING_COLLECTOR +: Endpoint for the collector. + +--tracing-service | $REVA_TRACING_SERVICE +: Service name for tracing. Default: `reva`. + +--debug-addr | $REVA_FRONTEND_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9141`. + +--debug-token | $REVA_DEBUG_TOKEN +: Token to grant metrics access. + +--debug-pprof | $REVA_DEBUG_PPROF +: Enable pprof debugging. + +--debug-zpages | $REVA_DEBUG_ZPAGES +: Enable zpages debugging. + +--jwt-secret | $REVA_JWT_SECRET +: Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. + +--transfer-secret | $REVA_TRANSFER_SECRET +: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. + +--webdav-namespace | $WEBDAV_NAMESPACE +: Namespace prefix for the /webdav endpoint. Default: `/home/`. + +--dav-files-namespace | $DAV_FILES_NAMESPACE +: Namespace prefix for the webdav /dav/files endpoint. Default: `/oc/`. + +--network | $REVA_FRONTEND_NETWORK +: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. + +--protocol | $REVA_FRONTEND_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `http`. + +--addr | $REVA_FRONTEND_ADDR +: Address to bind reva service. Default: `0.0.0.0:9140`. + +--url | $REVA_FRONTEND_URL +: URL to use for the reva service. Default: `https://localhost:9200`. + +--gateway-url | $REVA_GATEWAY_URL +: URL to use for the reva gateway service. Default: `localhost:9142`. + +--upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS +: Disables TUS upload mechanism. Default: `false`. + +--upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE +: Specify an HTTP method (ex: POST) that clients should to use when uploading instead of PATCH. + ### ocis-reva storage-root Start reva storage-root service @@ -507,20 +555,11 @@ Usage: `ocis-reva storage-root [command options] [arguments...]` --storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT : `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. -### ocis-reva health - -Check health status - -Usage: `ocis-reva health [command options] [arguments...]` - ---debug-addr | $REVA_DEBUG_ADDR -: Address to debug endpoint. Default: `0.0.0.0:9109`. - -### ocis-reva storage-eos +### ocis-reva reva-storage-public-link -Start reva storage-eos service +Start reva storage-public-link service -Usage: `ocis-reva storage-eos [command options] [arguments...]` +Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -537,8 +576,8 @@ Usage: `ocis-reva storage-eos [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9159`. +--debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:10053`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -552,110 +591,116 @@ Usage: `ocis-reva storage-eos [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_EOS_NETWORK +--network | $REVA_STORAGE_PUBLIC_LINK_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_EOS_PROTOCOL +--protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_EOS_ADDR -: Address to bind reva service. Default: `0.0.0.0:9158`. +--addr | $REVA_STORAGE_PUBLIC_LINK_ADDR +: Address to bind reva service. Default: `localhost:10054`. ---url | $REVA_STORAGE_EOS_URL -: URL to use for the reva service. Default: `localhost:9158`. +--public_share_provider_addr | $REVA_STORAGE_PUBLICLINK_PUBLIC_SHARE_PROVIDER_ADDR +: public share provider service address. Default: `localhost:9150`. ---driver | $REVA_STORAGE_EOS_DRIVER -: storage driver, eg. local, eos, owncloud or s3. Default: `eos`. +--user_provider_addr | $REVA_STORAGE_PUBLICLINK_USER_PROVIDER_ADDR +: user provider service address. Default: `localhost:9144`. ---mount-path | $REVA_STORAGE_EOS_MOUNT_PATH -: mount path. Default: `/eos`. +--storage_provider_addr | $REVA_STORAGE_PUBLICLINK_STORAGE_PROVIDER_ADDR +: storage provider service address. Default: `localhost:9154`. ---mount-id | $REVA_STORAGE_EOS_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. +--driver | $REVA_STORAGE_PUBLIC_LINK_DRIVER +: storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. ---expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER +--mount-id | $REVA_STORAGE_PUBLIC_LINK_MOUNT_ID +: mount id. Default: `e1a73ede-549b-4226-abdf-40e69ca8230d`. + +--expose-data-server | $REVA_STORAGE_PUBLIC_LINK_EXPOSE_DATA_SERVER : exposes a dedicated data server. Default: `true`. ---data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL -: data server url. Default: `http://localhost:9160/data`. +--data-server-url | $REVA_STORAGE_PUBLIC_LINK_DATA_SERVER_URL +: data server url. Default: `http://localhost:9156/data`. ---enable-home-creation | $REVA_STORAGE_EOS_ENABLE_HOME_CREATION -: if enabled home dirs will be automatically created. Default: `false`. +--enable-home-creation | $REVA_STORAGE_PUBLIC_LINK_ENABLE_HOME_CREATION +: if enabled home dirs will be automatically created. Default: `true`. ---storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE -: Namespace for metadata operations. Default: `/eos/dockertest/reva`. +--mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH +: mount path. Default: `/public/`. ---storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE -: Shadow namespace where share references are stored. +--gateway-url | $REVA_GATEWAY_URL +: URL to use for the reva gateway service. Default: `localhost:9142`. ---storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER -: name of the share folder. Default: `/Shares`. +### ocis-reva health ---storage-eos-binary | $REVA_STORAGE_EOS_BINARY -: Location of the eos binary. Default: `/usr/bin/eos`. +Check health status ---storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY -: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. +Usage: `ocis-reva health [command options] [arguments...]` ---storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL -: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. +--debug-addr | $REVA_DEBUG_ADDR +: Address to debug endpoint. Default: `0.0.0.0:9109`. ---storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL -: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. +### ocis-reva auth-bearer ---storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY -: Location on the local fs where to store reads. Default: `os.TempDir()`. +Start reva authprovider for bearer auth ---storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING -: Enables logging of the commands executed. +Usage: `ocis-reva auth-bearer [command options] [arguments...]` ---storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES -: show internal EOS files like .sys.v# and .sys.a# files.. +--tracing-enabled | $REVA_TRACING_ENABLED +: Enable sending traces. ---storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE -: force connections to EOS to use SingleUsername. +--tracing-type | $REVA_TRACING_TYPE +: Tracing backend type. Default: `jaeger`. ---storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB -: authenticate requests by using an EOS keytab. +--tracing-endpoint | $REVA_TRACING_ENDPOINT +: Endpoint for the agent. ---storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME -: enable the creation of home directories. +--tracing-collector | $REVA_TRACING_COLLECTOR +: Endpoint for the collector. ---storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL -: the xrootd security protocol to use between the server and EOS. +--tracing-service | $REVA_TRACING_SERVICE +: Service name for tracing. Default: `reva`. ---storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB -: the location of the keytab to use to authenticate to EOS. +--debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9149`. ---storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME -: the username to use when SingleUserMode is enabled. +--debug-token | $REVA_DEBUG_TOKEN +: Token to grant metrics access. ---storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. +--debug-pprof | $REVA_DEBUG_PPROF +: Enable pprof debugging. ---storage-local-root | $REVA_STORAGE_LOCAL_ROOT -: the path to the local storage root. Default: `/var/tmp/reva/root`. +--debug-zpages | $REVA_DEBUG_ZPAGES +: Enable zpages debugging. ---storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR -: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. +--jwt-secret | $REVA_JWT_SECRET +: Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN -: scan files on startup to add fileids. Default: `true`. +--oidc-issuer | $REVA_OIDC_ISSUER +: OIDC issuer. Default: `https://localhost:9200`. ---storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR -: the address of the redis server. Default: `:6379`. +--oidc-insecure | $REVA_OIDC_INSECURE +: OIDC allow insecure communication. Default: `true`. ---storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME -: enable the creation of home storages. Default: `false`. +--oidc-id-claim | $REVA_OIDC_ID_CLAIM +: OIDC id claim. Default: `preferred_username`. ---storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. +--network | $REVA_AUTH_BEARER_NETWORK +: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. -### ocis-reva storage-eos-data +--protocol | $REVA_AUTH_BEARER_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. -Start reva storage-eos-data service +--addr | $REVA_AUTH_BEARER_ADDR +: Address to bind reva service. Default: `0.0.0.0:9148`. -Usage: `ocis-reva storage-eos-data [command options] [arguments...]` +--url | $REVA_AUTH_BEARER_URL +: URL to use for the reva service. Default: `localhost:9148`. + +### ocis-reva storage-home-data + +Start reva storage-home-data service + +Usage: `ocis-reva storage-home-data [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -672,8 +717,8 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9161`. +--debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9157`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -687,29 +732,29 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_EOS_DATA_NETWORK +--network | $REVA_STORAGE_HOME_DATA_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL +--protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_STORAGE_EOS_DATA_ADDR -: Address to bind reva service. Default: `0.0.0.0:9160`. +--addr | $REVA_STORAGE_HOME_DATA_ADDR +: Address to bind reva service. Default: `0.0.0.0:9156`. ---url | $REVA_STORAGE_EOS_DATA_URL -: URL to use for the reva service. Default: `localhost:9160`. +--url | $REVA_STORAGE_HOME_DATA_URL +: URL to use for the reva service. Default: `localhost:9156`. ---driver | $REVA_STORAGE_EOS_DATA_DRIVER -: storage driver, eg. local, eos, owncloud or s3. Default: `eos`. +--driver | $REVA_STORAGE_HOME_DATA_DRIVER +: storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. ---prefix | $REVA_STORAGE_EOS_DATA_PREFIX +--prefix | $REVA_STORAGE_HOME_DATA_PREFIX : prefix for the http endpoint, without leading slash. Default: `data`. ---temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER +--temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER : temp folder. Default: `/var/tmp/`. --storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE -: Namespace for metadata operations. Default: `/eos/dockertest/reva`. +: Namespace for metadata operations. Default: `/eos/dockertest/reva/users`. --storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE : Shadow namespace where share references are stored. @@ -745,7 +790,7 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` : authenticate requests by using an EOS keytab. --storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME -: enable the creation of home directories. +: enable the creation of home directories. Default: `true`. --storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL : the xrootd security protocol to use between the server and EOS. @@ -757,7 +802,7 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` : the username to use when SingleUserMode is enabled. --storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{substr 0 1 .Username}}/{{.Username}}" will turn "Einstein" into "E/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. --storage-local-root | $REVA_STORAGE_LOCAL_ROOT : the path to the local storage root. Default: `/var/tmp/reva/root`. @@ -772,7 +817,7 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` : the address of the redis server. Default: `:6379`. --storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME -: enable the creation of home storages. Default: `false`. +: enable the creation of home storages. Default: `true`. --storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT : `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. @@ -780,11 +825,11 @@ Usage: `ocis-reva storage-eos-data [command options] [arguments...]` --gateway-url | $REVA_GATEWAY_URL : URL to use for the reva gateway service. Default: `localhost:9142`. -### ocis-reva storage-home +### ocis-reva gateway -Start reva storage-home service +Start reva gateway -Usage: `ocis-reva storage-home [command options] [arguments...]` +Usage: `ocis-reva gateway [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -801,8 +846,8 @@ Usage: `ocis-reva storage-home [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9155`. +--debug-addr | $REVA_GATEWAY_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9143`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -816,110 +861,98 @@ Usage: `ocis-reva storage-home [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_HOME_NETWORK +--transfer-secret | $REVA_TRANSFER_SECRET +: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. + +--network | $REVA_GATEWAY_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_HOME_PROTOCOL +--protocol | $REVA_GATEWAY_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_HOME_ADDR -: Address to bind reva service. Default: `0.0.0.0:9154`. +--addr | $REVA_GATEWAY_ADDR +: Address to bind reva service. Default: `0.0.0.0:9142`. ---url | $REVA_STORAGE_HOME_URL -: URL to use for the reva service. Default: `localhost:9154`. +--url | $REVA_GATEWAY_URL +: URL to use for the reva service. Default: `localhost:9142`. ---driver | $REVA_STORAGE_HOME_DRIVER -: storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. +--commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT +: Commit shares to the share manager. Default: `true`. ---mount-path | $REVA_STORAGE_HOME_MOUNT_PATH -: mount path. Default: `/home`. +--commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF +: Commit shares to the storage. Default: `true`. ---mount-id | $REVA_STORAGE_HOME_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. +--share-folder | $REVA_GATEWAY_SHARE_FOLDER +: mount shares in this folder of the home storage provider. Default: `Shares`. ---expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER -: exposes a dedicated data server. Default: `true`. +--link_grants_file | $REVA_GATEWAY_LINK_GRANTS_FILE +: when using a json manager, file to use as json serialized database. Default: `/var/tmp/reva/link_grants.json`. ---data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL -: data server url. Default: `http://localhost:9156/data`. +--disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN +: Disable creation of home folder on login. ---enable-home-creation | $REVA_STORAGE_HOME_ENABLE_HOME_CREATION -: if enabled home dirs will be automatically created. Default: `true`. +--storage-home-provider | $REVA_STORAGE_HOME_PROVIDER +: mount point of the storage provider for user homes in the global namespace. Default: `/home`. ---storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE -: Namespace for metadata operations. Default: `/eos/dockertest/reva/users`. +--frontend-url | $REVA_FRONTEND_URL +: URL to use for the reva service. Default: `https://localhost:9200`. ---storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE -: Shadow namespace where share references are stored. +--datagateway-url | $REVA_DATAGATEWAY_URL +: URL to use for the reva datagateway. Default: `https://localhost:9200/data`. ---storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER -: name of the share folder. Default: `/Shares`. +--users-url | $REVA_USERS_URL +: URL to use for the reva service. Default: `localhost:9144`. ---storage-eos-binary | $REVA_STORAGE_EOS_BINARY -: Location of the eos binary. Default: `/usr/bin/eos`. +--auth-basic-url | $REVA_AUTH_BASIC_URL +: URL to use for the reva service. Default: `localhost:9146`. ---storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY -: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. +--auth-bearer-url | $REVA_AUTH_BEARER_URL +: URL to use for the reva service. Default: `localhost:9148`. ---storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL -: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. - ---storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL -: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. - ---storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY -: Location on the local fs where to store reads. Default: `os.TempDir()`. - ---storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING -: Enables logging of the commands executed. - ---storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES -: show internal EOS files like .sys.v# and .sys.a# files.. - ---storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE -: force connections to EOS to use SingleUsername. +--sharing-url | $REVA_SHARING_URL +: URL to use for the reva service. Default: `localhost:9150`. ---storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB -: authenticate requests by using an EOS keytab. +--storage-root-url | $REVA_STORAGE_ROOT_URL +: URL to use for the reva service. Default: `localhost:9152`. ---storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME -: enable the creation of home directories. Default: `true`. +--storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH +: mount path. Default: `/`. ---storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL -: the xrootd security protocol to use between the server and EOS. +--storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009152`. ---storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB -: the location of the keytab to use to authenticate to EOS. +--storage-home-url | $REVA_STORAGE_HOME_URL +: URL to use for the reva service. Default: `localhost:9154`. ---storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME -: the username to use when SingleUserMode is enabled. +--storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH +: mount path. Default: `/home`. ---storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{substr 0 1 .Username}}/{{.Username}}" will turn "Einstein" into "E/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. +--storage-eos-url | $REVA_STORAGE_EOS_URL +: URL to use for the reva service. Default: `localhost:9158`. ---storage-local-root | $REVA_STORAGE_LOCAL_ROOT -: the path to the local storage root. Default: `/var/tmp/reva/root`. +--storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH +: mount path. Default: `/eos`. ---storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR -: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. +--storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. ---storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN -: scan files on startup to add fileids. Default: `true`. +--storage-oc-url | $REVA_STORAGE_OC_URL +: URL to use for the reva service. Default: `localhost:9162`. ---storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR -: the address of the redis server. Default: `:6379`. +--storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH +: mount path. Default: `/oc`. ---storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME -: enable the creation of home storages. Default: `true`. +--storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. ---storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. +--public-links-url | $REVA_STORAGE_PUBLIC_LINK_URL +: URL to use for the public links service. Default: `localhost:10054`. -### ocis-reva reva-storage-public-link +### ocis-reva storage-home -Start reva storage-public-link service +Start reva storage-home service -Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]` +Usage: `ocis-reva storage-home [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -936,8 +969,8 @@ Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_PUBLIC_LINK_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:10053`. +--debug-addr | $REVA_STORAGE_HOME_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9155`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -951,137 +984,110 @@ Usage: `ocis-reva reva-storage-public-link [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_PUBLIC_LINK_NETWORK +--network | $REVA_STORAGE_HOME_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_PUBLIC_LINK_PROTOCOL +--protocol | $REVA_STORAGE_HOME_PROTOCOL : protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_PUBLIC_LINK_ADDR -: Address to bind reva service. Default: `localhost:10054`. - ---public_share_provider_addr | $REVA_STORAGE_PUBLICLINK_PUBLIC_SHARE_PROVIDER_ADDR -: public share provider service address. Default: `localhost:9150`. - ---user_provider_addr | $REVA_STORAGE_PUBLICLINK_USER_PROVIDER_ADDR -: user provider service address. Default: `localhost:9144`. +--addr | $REVA_STORAGE_HOME_ADDR +: Address to bind reva service. Default: `0.0.0.0:9154`. ---storage_provider_addr | $REVA_STORAGE_PUBLICLINK_STORAGE_PROVIDER_ADDR -: storage provider service address. Default: `localhost:9154`. +--url | $REVA_STORAGE_HOME_URL +: URL to use for the reva service. Default: `localhost:9154`. ---driver | $REVA_STORAGE_PUBLIC_LINK_DRIVER +--driver | $REVA_STORAGE_HOME_DRIVER : storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. ---mount-id | $REVA_STORAGE_PUBLIC_LINK_MOUNT_ID -: mount id. Default: `e1a73ede-549b-4226-abdf-40e69ca8230d`. +--mount-path | $REVA_STORAGE_HOME_MOUNT_PATH +: mount path. Default: `/home`. ---expose-data-server | $REVA_STORAGE_PUBLIC_LINK_EXPOSE_DATA_SERVER -: exposes a dedicated data server. Default: `true`. +--mount-id | $REVA_STORAGE_HOME_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. ---data-server-url | $REVA_STORAGE_PUBLIC_LINK_DATA_SERVER_URL +--expose-data-server | $REVA_STORAGE_HOME_EXPOSE_DATA_SERVER +: exposes a dedicated data server. Default: `false`. + +--data-server-url | $REVA_STORAGE_HOME_DATA_SERVER_URL : data server url. Default: `http://localhost:9156/data`. ---enable-home-creation | $REVA_STORAGE_PUBLIC_LINK_ENABLE_HOME_CREATION +--enable-home-creation | $REVA_STORAGE_HOME_ENABLE_HOME_CREATION : if enabled home dirs will be automatically created. Default: `true`. ---mount-path | $REVA_STORAGE_PUBLIC_LINK_MOUNT_PATH -: mount path. Default: `/public/`. - ---gateway-url | $REVA_GATEWAY_URL -: URL to use for the reva gateway service. Default: `localhost:9142`. - -### ocis-reva users - -Start reva users service - -Usage: `ocis-reva users [command options] [arguments...]` - ---tracing-enabled | $REVA_TRACING_ENABLED -: Enable sending traces. - ---tracing-type | $REVA_TRACING_TYPE -: Tracing backend type. Default: `jaeger`. - ---tracing-endpoint | $REVA_TRACING_ENDPOINT -: Endpoint for the agent. - ---tracing-collector | $REVA_TRACING_COLLECTOR -: Endpoint for the collector. - ---tracing-service | $REVA_TRACING_SERVICE -: Service name for tracing. Default: `reva`. +--storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE +: Namespace for metadata operations. Default: `/eos/dockertest/reva/users`. ---debug-addr | $REVA_SHARING_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9145`. +--storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE +: Shadow namespace where share references are stored. ---debug-token | $REVA_DEBUG_TOKEN -: Token to grant metrics access. +--storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER +: name of the share folder. Default: `/Shares`. ---debug-pprof | $REVA_DEBUG_PPROF -: Enable pprof debugging. +--storage-eos-binary | $REVA_STORAGE_EOS_BINARY +: Location of the eos binary. Default: `/usr/bin/eos`. ---debug-zpages | $REVA_DEBUG_ZPAGES -: Enable zpages debugging. +--storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY +: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. ---jwt-secret | $REVA_JWT_SECRET -: Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. +--storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL +: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---ldap-hostname | $REVA_LDAP_HOSTNAME -: LDAP hostname. Default: `localhost`. +--storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL +: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---ldap-base-dn | $REVA_LDAP_BASE_DN -: LDAP basedn. Default: `dc=example,dc=org`. +--storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY +: Location on the local fs where to store reads. Default: `os.TempDir()`. ---ldap-userfilter | $REVA_LDAP_USERFILTER -: LDAP userfilter. Default: `(&(objectclass=posixAccount)(cn=%s*))`. +--storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING +: Enables logging of the commands executed. ---ldap-groupfilter | $REVA_LDAP_GROUPFILTER -: LDAP groupfilter. Default: `(&(objectclass=posixGroup)(cn=%s*))`. +--storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES +: show internal EOS files like .sys.v# and .sys.a# files.. ---ldap-bind-dn | $REVA_LDAP_BIND_DN -: LDAP bind dn. Default: `cn=reva,ou=sysusers,dc=example,dc=org`. +--storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE +: force connections to EOS to use SingleUsername. ---ldap-bind-password | $REVA_LDAP_BIND_PASSWORD -: LDAP bind password. Default: `reva`. +--storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB +: authenticate requests by using an EOS keytab. ---ldap-idp | $REVA_LDAP_IDP -: Identity provider to use for users. Default: `https://localhost:9200`. +--storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME +: enable the creation of home directories. Default: `true`. ---ldap-schema-uid | $REVA_LDAP_SCHEMA_UID -: LDAP schema uid. Default: `uid`. +--storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL +: the xrootd security protocol to use between the server and EOS. ---ldap-schema-mail | $REVA_LDAP_SCHEMA_MAIL -: LDAP schema mail. Default: `mail`. +--storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB +: the location of the keytab to use to authenticate to EOS. ---ldap-schema-displayName | $REVA_LDAP_SCHEMA_DISPLAYNAME -: LDAP schema displayName. Default: `sn`. +--storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME +: the username to use when SingleUserMode is enabled. ---ldap-schema-cn | $REVA_LDAP_SCHEMA_CN -: LDAP schema cn. Default: `cn`. +--storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{substr 0 1 .Username}}/{{.Username}}" will turn "Einstein" into "E/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. ---network | $REVA_USERS_NETWORK -: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. +--storage-local-root | $REVA_STORAGE_LOCAL_ROOT +: the path to the local storage root. Default: `/var/tmp/reva/root`. ---protocol | $REVA_USERS_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. +--storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR +: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. ---addr | $REVA_USERS_ADDR -: Address to bind reva service. Default: `0.0.0.0:9144`. +--storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN +: scan files on startup to add fileids. Default: `true`. ---url | $REVA_USERS_URL -: URL to use for the reva service. Default: `localhost:9144`. +--storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR +: the address of the redis server. Default: `:6379`. ---driver | $REVA_USERS_DRIVER -: user driver: 'demo', 'json' or 'ldap'. Default: `ldap`. +--storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME +: enable the creation of home storages. Default: `true`. ---json-config | $REVA_USERS_JSON -: Path to users.json file. +--storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. -### ocis-reva gateway +### ocis-reva storage-eos-data -Start reva gateway +Start reva storage-eos-data service -Usage: `ocis-reva gateway [command options] [arguments...]` +Usage: `ocis-reva storage-eos-data [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -1098,8 +1104,8 @@ Usage: `ocis-reva gateway [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_GATEWAY_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9143`. +--debug-addr | $REVA_STORAGE_OC_DATA_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9161`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -1113,95 +1119,104 @@ Usage: `ocis-reva gateway [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---transfer-secret | $REVA_TRANSFER_SECRET -: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. - ---network | $REVA_GATEWAY_NETWORK +--network | $REVA_STORAGE_EOS_DATA_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_GATEWAY_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. +--protocol | $REVA_STORAGE_EOS_DATA_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `http`. ---addr | $REVA_GATEWAY_ADDR -: Address to bind reva service. Default: `0.0.0.0:9142`. +--addr | $REVA_STORAGE_EOS_DATA_ADDR +: Address to bind reva service. Default: `0.0.0.0:9160`. ---url | $REVA_GATEWAY_URL -: URL to use for the reva service. Default: `localhost:9142`. +--url | $REVA_STORAGE_EOS_DATA_URL +: URL to use for the reva service. Default: `localhost:9160`. ---commit-share-to-storage-grant | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_GRANT -: Commit shares to the share manager. Default: `true`. +--driver | $REVA_STORAGE_EOS_DATA_DRIVER +: storage driver, eg. local, eos, owncloud or s3. Default: `eos`. ---commit-share-to-storage-ref | $REVA_GATEWAY_COMMIT_SHARE_TO_STORAGE_REF -: Commit shares to the storage. Default: `true`. +--prefix | $REVA_STORAGE_EOS_DATA_PREFIX +: prefix for the http endpoint, without leading slash. Default: `data`. ---share-folder | $REVA_GATEWAY_SHARE_FOLDER -: mount shares in this folder of the home storage provider. Default: `Shares`. +--temp-folder | $REVA_STORAGE_EOS_DATA_TEMP_FOLDER +: temp folder. Default: `/var/tmp/`. ---link_grants_file | $REVA_GATEWAY_LINK_GRANTS_FILE -: when using a json manager, file to use as json serialized database. Default: `/var/tmp/reva/link_grants.json`. +--storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE +: Namespace for metadata operations. Default: `/eos/dockertest/reva`. ---disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN -: Disable creation of home folder on login. +--storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE +: Shadow namespace where share references are stored. ---storage-home-provider | $REVA_STORAGE_HOME_PROVIDER -: mount point of the storage provider for user homes in the global namespace. Default: `/home`. +--storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER +: name of the share folder. Default: `/Shares`. ---frontend-url | $REVA_FRONTEND_URL -: URL to use for the reva service. Default: `localhost:9140`. +--storage-eos-binary | $REVA_STORAGE_EOS_BINARY +: Location of the eos binary. Default: `/usr/bin/eos`. ---users-url | $REVA_USERS_URL -: URL to use for the reva service. Default: `localhost:9144`. +--storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY +: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. ---auth-basic-url | $REVA_AUTH_BASIC_URL -: URL to use for the reva service. Default: `localhost:9146`. +--storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL +: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---auth-bearer-url | $REVA_AUTH_BEARER_URL -: URL to use for the reva service. Default: `localhost:9148`. +--storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL +: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---sharing-url | $REVA_SHARING_URL -: URL to use for the reva service. Default: `localhost:9150`. +--storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY +: Location on the local fs where to store reads. Default: `os.TempDir()`. ---storage-root-url | $REVA_STORAGE_ROOT_URL -: URL to use for the reva service. Default: `localhost:9152`. +--storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING +: Enables logging of the commands executed. ---storage-root-mount-path | $REVA_STORAGE_ROOT_MOUNT_PATH -: mount path. Default: `/`. +--storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES +: show internal EOS files like .sys.v# and .sys.a# files.. ---storage-root-mount-id | $REVA_STORAGE_ROOT_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009152`. +--storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE +: force connections to EOS to use SingleUsername. ---storage-home-url | $REVA_STORAGE_HOME_URL -: URL to use for the reva service. Default: `localhost:9154`. +--storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB +: authenticate requests by using an EOS keytab. ---storage-home-mount-path | $REVA_STORAGE_HOME_MOUNT_PATH -: mount path. Default: `/home`. +--storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME +: enable the creation of home directories. ---storage-eos-url | $REVA_STORAGE_EOS_URL -: URL to use for the reva service. Default: `localhost:9158`. +--storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL +: the xrootd security protocol to use between the server and EOS. ---storage-eos-mount-path | $REVA_STORAGE_EOS_MOUNT_PATH -: mount path. Default: `/eos`. +--storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB +: the location of the keytab to use to authenticate to EOS. ---storage-eos-mount-id | $REVA_STORAGE_EOS_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. +--storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME +: the username to use when SingleUserMode is enabled. ---storage-oc-url | $REVA_STORAGE_OC_URL -: URL to use for the reva service. Default: `localhost:9162`. +--storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. ---storage-oc-mount-path | $REVA_STORAGE_OC_MOUNT_PATH -: mount path. Default: `/oc`. +--storage-local-root | $REVA_STORAGE_LOCAL_ROOT +: the path to the local storage root. Default: `/var/tmp/reva/root`. ---storage-oc-mount-id | $REVA_STORAGE_OC_MOUNT_ID -: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. +--storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR +: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. ---public-links-url | $REVA_STORAGE_PUBLIC_LINK_URL -: URL to use for the public links service. Default: `localhost:10054`. +--storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN +: scan files on startup to add fileids. Default: `true`. + +--storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR +: the address of the redis server. Default: `:6379`. + +--storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME +: enable the creation of home storages. Default: `false`. + +--storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. -### ocis-reva frontend +--gateway-url | $REVA_GATEWAY_URL +: URL to use for the reva gateway service. Default: `localhost:9142`. -Start reva frontend service +### ocis-reva sharing -Usage: `ocis-reva frontend [command options] [arguments...]` +Start reva sharing service + +Usage: `ocis-reva sharing [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -1218,8 +1233,8 @@ Usage: `ocis-reva frontend [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_FRONTEND_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9141`. +--debug-addr | $REVA_SHARING_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9151`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -1233,41 +1248,32 @@ Usage: `ocis-reva frontend [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---transfer-secret | $REVA_TRANSFER_SECRET -: Transfer secret for datagateway. Default: `replace-me-with-a-transfer-secret`. - ---webdav-namespace | $WEBDAV_NAMESPACE -: Namespace prefix for the /webdav endpoint. Default: `/home/`. - ---dav-files-namespace | $DAV_FILES_NAMESPACE -: Namespace prefix for the webdav /dav/files endpoint. Default: `/oc/`. - ---network | $REVA_FRONTEND_NETWORK +--network | $REVA_SHARING_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_FRONTEND_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `http`. +--protocol | $REVA_SHARING_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_FRONTEND_ADDR -: Address to bind reva service. Default: `0.0.0.0:9140`. +--addr | $REVA_SHARING_ADDR +: Address to bind reva service. Default: `0.0.0.0:9150`. ---url | $REVA_FRONTEND_URL -: URL to use for the reva service. Default: `localhost:9140`. +--url | $REVA_SHARING_URL +: URL to use for the reva service. Default: `localhost:9150`. ---gateway-url | $REVA_GATEWAY_URL -: URL to use for the reva gateway service. Default: `localhost:9142`. +--user-driver | $REVA_SHARING_USER_DRIVER +: driver to use for the UserShareProvider. Default: `json`. ---upload-disable-tus | $REVA_FRONTEND_UPLOAD_DISABLE_TUS -: Disables TUS upload mechanism. Default: `false`. +--user-json-file | $REVA_SHARING_USER_JSON_FILE +: file used to persist shares for the UserShareProvider. Default: `/var/tmp/reva/shares.json`. ---upload-http-method-override | $REVA_FRONTEND_UPLOAD_HTTP_METHOD_OVERRIDE -: Specify an HTTP method (ex: POST) that clients should to use when uploading instead of PATCH. +--public-driver | $REVA_SHARING_PUBLIC_DRIVER +: driver to use for the PublicShareProvider. Default: `json`. -### ocis-reva auth-basic +### ocis-reva storage-eos -Start reva authprovider for basic auth +Start reva storage-eos service -Usage: `ocis-reva auth-basic [command options] [arguments...]` +Usage: `ocis-reva storage-eos [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -1284,8 +1290,8 @@ Usage: `ocis-reva auth-basic [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_AUTH_BASIC_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9147`. +--debug-addr | $REVA_STORAGE_EOS_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9159`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -1299,119 +1305,110 @@ Usage: `ocis-reva auth-basic [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---users-driver | $REVA_USERS_DRIVER -: user driver: 'demo', 'json' or 'ldap'. Default: `ldap`. - ---users-json | $REVA_USERS_JSON -: Path to users.json file. - ---ldap-hostname | $REVA_LDAP_HOSTNAME -: LDAP hostname. Default: `localhost`. - ---ldap-base-dn | $REVA_LDAP_BASE_DN -: LDAP basedn. Default: `dc=example,dc=org`. - ---ldap-userfilter | $REVA_LDAP_USERFILTER -: LDAP userfilter. Default: `(&(objectclass=posixAccount)(cn=%s))`. +--network | $REVA_STORAGE_EOS_NETWORK +: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---ldap-groupfilter | $REVA_LDAP_GROUPFILTER -: LDAP groupfilter. Default: `(&(objectclass=posixGroup)(cn=%s))`. +--protocol | $REVA_STORAGE_EOS_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---ldap-bind-dn | $REVA_LDAP_BIND_DN -: LDAP bind dn. Default: `cn=reva,ou=sysusers,dc=example,dc=org`. +--addr | $REVA_STORAGE_EOS_ADDR +: Address to bind reva service. Default: `0.0.0.0:9158`. ---ldap-bind-password | $REVA_LDAP_BIND_PASSWORD -: LDAP bind password. Default: `reva`. +--url | $REVA_STORAGE_EOS_URL +: URL to use for the reva service. Default: `localhost:9158`. ---ldap-idp | $REVA_LDAP_IDP -: Identity provider to use for users. Default: `https://localhost:9200`. +--driver | $REVA_STORAGE_EOS_DRIVER +: storage driver, eg. local, eos, owncloud or s3. Default: `eos`. ---ldap-schema-uid | $REVA_LDAP_SCHEMA_UID -: LDAP schema uid. Default: `uid`. +--mount-path | $REVA_STORAGE_EOS_MOUNT_PATH +: mount path. Default: `/eos`. ---ldap-schema-mail | $REVA_LDAP_SCHEMA_MAIL -: LDAP schema mail. Default: `mail`. +--mount-id | $REVA_STORAGE_EOS_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009158`. ---ldap-schema-displayName | $REVA_LDAP_SCHEMA_DISPLAYNAME -: LDAP schema displayName. Default: `sn`. +--expose-data-server | $REVA_STORAGE_EOS_EXPOSE_DATA_SERVER +: exposes a dedicated data server. Default: `false`. ---ldap-schema-cn | $REVA_LDAP_SCHEMA_CN -: LDAP schema cn. Default: `cn`. +--data-server-url | $REVA_STORAGE_EOS_DATA_SERVER_URL +: data server url. Default: `http://localhost:9160/data`. ---network | $REVA_AUTH_BASIC_NETWORK -: Network to use for the reva auth-basic service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. +--enable-home-creation | $REVA_STORAGE_EOS_ENABLE_HOME_CREATION +: if enabled home dirs will be automatically created. Default: `false`. ---protocol | $REVA_AUTH_BASIC_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. +--storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE +: Namespace for metadata operations. Default: `/eos/dockertest/reva`. ---addr | $REVA_AUTH_BASIC_ADDR -: Address to bind reva service. Default: `0.0.0.0:9146`. +--storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE +: Shadow namespace where share references are stored. ---url | $REVA_AUTH_BASIC_URL -: URL to use for the reva service. Default: `localhost:9146`. +--storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER +: name of the share folder. Default: `/Shares`. -### ocis-reva auth-bearer +--storage-eos-binary | $REVA_STORAGE_EOS_BINARY +: Location of the eos binary. Default: `/usr/bin/eos`. -Start reva authprovider for bearer auth +--storage-eos-xrdcopy-binary | $REVA_STORAGE_EOS_XRDCOPY_BINARY +: Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. -Usage: `ocis-reva auth-bearer [command options] [arguments...]` +--storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL +: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---tracing-enabled | $REVA_TRACING_ENABLED -: Enable sending traces. +--storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL +: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. ---tracing-type | $REVA_TRACING_TYPE -: Tracing backend type. Default: `jaeger`. +--storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY +: Location on the local fs where to store reads. Default: `os.TempDir()`. ---tracing-endpoint | $REVA_TRACING_ENDPOINT -: Endpoint for the agent. +--storage-eos-enable-logging | $REVA_STORAGE_EOS_ENABLE_LOGGING +: Enables logging of the commands executed. ---tracing-collector | $REVA_TRACING_COLLECTOR -: Endpoint for the collector. +--storage-eos-show-hidden-sysfiles | $REVA_STORAGE_EOS_SHOW_HIDDEN_SYSFILES +: show internal EOS files like .sys.v# and .sys.a# files.. ---tracing-service | $REVA_TRACING_SERVICE -: Service name for tracing. Default: `reva`. +--storage-eos-force-singleuser-mode | $REVA_STORAGE_EOS_FORCE_SINGLEUSER_MODE +: force connections to EOS to use SingleUsername. ---debug-addr | $REVA_AUTH_BEARER_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9149`. +--storage-eos-use-keytab | $REVA_STORAGE_EOS_USE_KEYTAB +: authenticate requests by using an EOS keytab. ---debug-token | $REVA_DEBUG_TOKEN -: Token to grant metrics access. +--storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME +: enable the creation of home directories. ---debug-pprof | $REVA_DEBUG_PPROF -: Enable pprof debugging. +--storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL +: the xrootd security protocol to use between the server and EOS. ---debug-zpages | $REVA_DEBUG_ZPAGES -: Enable zpages debugging. +--storage-eos-keytab | $REVA_STORAGE_EOS_KEYTAB +: the location of the keytab to use to authenticate to EOS. ---jwt-secret | $REVA_JWT_SECRET -: Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. +--storage-eos-single-username | $REVA_STORAGE_EOS_SINGLE_USERNAME +: the username to use when SingleUserMode is enabled. ---oidc-issuer | $REVA_OIDC_ISSUER -: OIDC issuer. Default: `https://localhost:9200`. +--storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. ---oidc-insecure | $REVA_OIDC_INSECURE -: OIDC allow insecure communication. Default: `true`. +--storage-local-root | $REVA_STORAGE_LOCAL_ROOT +: the path to the local storage root. Default: `/var/tmp/reva/root`. ---oidc-id-claim | $REVA_OIDC_ID_CLAIM -: OIDC id claim. Default: `preferred_username`. +--storage-owncloud-datadir | $REVA_STORAGE_OWNCLOUD_DATADIR +: the path to the owncloud data directory. Default: `/var/tmp/reva/data`. ---network | $REVA_AUTH_BEARER_NETWORK -: Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. +--storage-owncloud-scan | $REVA_STORAGE_OWNCLOUD_SCAN +: scan files on startup to add fileids. Default: `true`. ---protocol | $REVA_AUTH_BEARER_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. +--storage-owncloud-redis | $REVA_STORAGE_OWNCLOUD_REDIS_ADDR +: the address of the redis server. Default: `:6379`. ---addr | $REVA_AUTH_BEARER_ADDR -: Address to bind reva service. Default: `0.0.0.0:9148`. +--storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME +: enable the creation of home storages. Default: `false`. ---url | $REVA_AUTH_BEARER_URL -: URL to use for the reva service. Default: `localhost:9148`. +--storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. -### ocis-reva storage-home-data +### ocis-reva storage-oc -Start reva storage-home-data service +Start reva storage-oc service -Usage: `ocis-reva storage-home-data [command options] [arguments...]` +Usage: `ocis-reva storage-oc [command options] [arguments...]` --tracing-enabled | $REVA_TRACING_ENABLED : Enable sending traces. @@ -1428,8 +1425,8 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` --tracing-service | $REVA_TRACING_SERVICE : Service name for tracing. Default: `reva`. ---debug-addr | $REVA_STORAGE_HOME_DATA_DEBUG_ADDR -: Address to bind debug server. Default: `0.0.0.0:9157`. +--debug-addr | $REVA_STORAGE_OC_DEBUG_ADDR +: Address to bind debug server. Default: `0.0.0.0:9163`. --debug-token | $REVA_DEBUG_TOKEN : Token to grant metrics access. @@ -1443,35 +1440,44 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` --jwt-secret | $REVA_JWT_SECRET : Shared jwt secret for reva service communication. Default: `Pive-Fumkiu4`. ---network | $REVA_STORAGE_HOME_DATA_NETWORK +--network | $REVA_STORAGE_OC_NETWORK : Network to use for the reva service, can be 'tcp', 'udp' or 'unix'. Default: `tcp`. ---protocol | $REVA_STORAGE_HOME_DATA_PROTOCOL -: protocol for reva service, can be 'http' or 'grpc'. Default: `http`. +--protocol | $REVA_STORAGE_OC_PROTOCOL +: protocol for reva service, can be 'http' or 'grpc'. Default: `grpc`. ---addr | $REVA_STORAGE_HOME_DATA_ADDR -: Address to bind reva service. Default: `0.0.0.0:9156`. +--addr | $REVA_STORAGE_OC_ADDR +: Address to bind reva service. Default: `0.0.0.0:9162`. ---url | $REVA_STORAGE_HOME_DATA_URL -: URL to use for the reva service. Default: `localhost:9156`. +--url | $REVA_STORAGE_OC_URL +: URL to use for the reva service. Default: `localhost:9162`. ---driver | $REVA_STORAGE_HOME_DATA_DRIVER +--driver | $REVA_STORAGE_OC_DRIVER : storage driver, eg. local, eos, owncloud or s3. Default: `owncloud`. ---prefix | $REVA_STORAGE_HOME_DATA_PREFIX -: prefix for the http endpoint, without leading slash. Default: `data`. +--mount-path | $REVA_STORAGE_OC_MOUNT_PATH +: mount path. Default: `/oc`. ---temp-folder | $REVA_STORAGE_HOME_DATA_TEMP_FOLDER -: temp folder. Default: `/var/tmp/`. +--mount-id | $REVA_STORAGE_OC_MOUNT_ID +: mount id. Default: `1284d238-aa92-42ce-bdc4-0b0000009162`. + +--expose-data-server | $REVA_STORAGE_OC_EXPOSE_DATA_SERVER +: exposes a dedicated data server. Default: `false`. + +--data-server-url | $REVA_STORAGE_OC_DATA_SERVER_URL +: data server url. Default: `http://localhost:9164/data`. + +--enable-home-creation | $REVA_STORAGE_OC_ENABLE_HOME_CREATION +: if enabled home dirs will be automatically created. Default: `false`. --storage-eos-namespace | $REVA_STORAGE_EOS_NAMESPACE -: Namespace for metadata operations. Default: `/eos/dockertest/reva/users`. +: Namespace for metadata operations. --storage-eos-shadow-namespace | $REVA_STORAGE_EOS_SHADOW_NAMESPACE : Shadow namespace where share references are stored. --storage-eos-share-folder | $REVA_STORAGE_EOS_SHARE_FOLDER -: name of the share folder. Default: `/Shares`. +: name of the share folder. --storage-eos-binary | $REVA_STORAGE_EOS_BINARY : Location of the eos binary. Default: `/usr/bin/eos`. @@ -1480,10 +1486,10 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` : Location of the xrdcopy binary. Default: `/usr/bin/xrdcopy`. --storage-eos-master-url | $REVA_STORAGE_EOS_MASTER_URL -: URL of the Master EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. +: URL of the Master EOS MGM. Default: `root://eos-example.org`. --storage-eos-slave-url | $REVA_STORAGE_EOS_SLAVE_URL -: URL of the Slave EOS MGM. Default: `root://eos-mgm1.eoscluster.cern.ch:1094`. +: URL of the Slave EOS MGM. Default: `root://eos-example.org`. --storage-eos-cache-directory | $REVA_STORAGE_EOS_CACHE_DIRECTORY : Location on the local fs where to store reads. Default: `os.TempDir()`. @@ -1501,7 +1507,7 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` : authenticate requests by using an EOS keytab. --storage-eos-enable-home | $REVA_STORAGE_EOS_ENABLE_HOME -: enable the creation of home directories. Default: `true`. +: enable the creation of home directories. --storage-eos-sec-protocol | $REVA_STORAGE_EOS_SEC_PROTOCOL : the xrootd security protocol to use between the server and EOS. @@ -1513,7 +1519,7 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` : the username to use when SingleUserMode is enabled. --storage-eos-layout | $REVA_STORAGE_EOS_LAYOUT -: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{substr 0 1 .Username}}/{{.Username}}" will turn "Einstein" into "E/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. +: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{substr 0 1 .Username}}/{{.Username}}`. --storage-local-root | $REVA_STORAGE_LOCAL_ROOT : the path to the local storage root. Default: `/var/tmp/reva/root`. @@ -1528,11 +1534,8 @@ Usage: `ocis-reva storage-home-data [command options] [arguments...]` : the address of the redis server. Default: `:6379`. --storage-owncloud-enable-home | $REVA_STORAGE_OWNCLOUD_ENABLE_HOME -: enable the creation of home storages. Default: `true`. +: enable the creation of home storages. Default: `false`. --storage-owncloud-layout | $REVA_STORAGE_OWNCLOUD_LAYOUT : `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `. Default: `{{.Username}}`. ---gateway-url | $REVA_GATEWAY_URL -: URL to use for the reva gateway service. Default: `localhost:9142`. - diff --git a/go.mod b/go.mod index 9007179..39472ce 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/owncloud/ocis-reva go 1.13 require ( - github.com/cs3org/reva v0.1.1-0.20200624063447-db5e6635d5f0 + github.com/cs3org/reva v0.1.1-0.20200626083045-8d345749ae0d github.com/gofrs/uuid v3.3.0+incompatible github.com/gopherjs/gopherjs v0.0.0-20181103185306-d547d1d9531e // indirect github.com/haya14busa/goverage v0.0.0-20180129164344-eec3514a20b5 // indirect diff --git a/go.sum b/go.sum index 42b5352..1f87603 100644 --- a/go.sum +++ b/go.sum @@ -17,6 +17,7 @@ contrib.go.opencensus.io/exporter/jaeger v0.2.0/go.mod h1:ukdzwIYYHgZ7QYtwVFQUji contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRqYosuDstRB9un7SOx2k/9ckA= contrib.go.opencensus.io/exporter/prometheus v0.1.0 h1:SByaIoWwNgMdPSgl5sMqM2KDE5H/ukPWBRo314xiDvg= contrib.go.opencensus.io/exporter/prometheus v0.1.0/go.mod h1:cGFniUXGZlKRjzOyuZJ6mgB+PgBcCIa79kEKR8YCW+A= +contrib.go.opencensus.io/exporter/prometheus v0.2.0 h1:9PUk0/8V0LGoPqVCrf8fQZJkFGBxudu8jOjQSMwoD6w= contrib.go.opencensus.io/exporter/prometheus v0.2.0/go.mod h1:TYmVAyE8Tn1lyPcltF5IYYfWp2KHu7lQGIZnj8iZMys= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go v32.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= @@ -63,8 +64,10 @@ github.com/akamai/AkamaiOPEN-edgegrid-golang v0.9.0/go.mod h1:zpDJeKyp9ScW4NNrbd github.com/alangpierce/go-forceexport v0.0.0-20160317203124-8f1d6941cd75/go.mod h1:uAXEEpARkRhCZfEvy/y0Jcc888f9tHCc1W7/UeEtreE= github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 h1:JYp7IbQjafoB+tBA3gMyHYHrpOtNuDiK/uB5uXxq5wM= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4 h1:Hs82Z41s6SdL1CELW+XaDYmOH4hkBN4/N9og/AsOv7E= github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190808125512-07798873deee/go.mod h1:myCDvQSzCW+wB1WAlocEru4wMGJxy+vlxHdhegi1CDQ= github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= @@ -83,10 +86,15 @@ github.com/aws/aws-sdk-go v1.23.19/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.31.1 h1:5tv3VtTS/IM1yZ6lxMQQVmH28SkkR3b3w+6u+9rcLx4= github.com/aws/aws-sdk-go v1.31.1/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.31.6/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.31.7 h1:TCA+pXKvzDMA3vVqhK21cCy5GarC8pTQb/DrVOWI3iY= github.com/aws/aws-sdk-go v1.31.7/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.32.3/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.32.5/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.32.8/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.32.9 h1:ai+NZsCV+Z97+jqIKya49gbCObOay9FKww0/VCNuXug= +github.com/aws/aws-sdk-go v1.32.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.32.10 h1:cEJTxGcBGlsM2tN36MZQKhlK93O9HrnaRs+lq2f0zN8= +github.com/aws/aws-sdk-go v1.32.10/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-xray-sdk-go v0.9.4/go.mod h1:XtMKdBQfpVut+tJEwI7+dJFRxxRdxHDyVNp2tHXRq04= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/beevik/ntp v0.2.0/go.mod h1:hIHWr+l3+/clUnF44zdK+CWW7fO8dR5cIylAQ76NRpg= @@ -157,6 +165,8 @@ github.com/cs3org/go-cs3apis v0.0.0-20200423154403-462ce7762d4a/go.mod h1:UXha4T github.com/cs3org/go-cs3apis v0.0.0-20200515145316-7048e6a5a73d h1:toZvBLH1cbHT65kv6xYPd9QqwLUHwOAVHqe9j4obAq4= github.com/cs3org/go-cs3apis v0.0.0-20200515145316-7048e6a5a73d/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= github.com/cs3org/go-cs3apis v0.0.0-20200622121618-dc54dffb5e44/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= +github.com/cs3org/go-cs3apis v0.0.0-20200625121012-96e791152b14 h1:ORPIrxw/T33ALlpaon9IMRzf54ArJQWCYlcECZiRmEc= +github.com/cs3org/go-cs3apis v0.0.0-20200625121012-96e791152b14/go.mod h1:UXha4TguuB52H14EMoSsCqDj7k8a/t7g4gVP+bgY5LY= github.com/cs3org/reva v0.1.1-0.20200520150229-ce94fda7436f/go.mod h1:fVZ7IXTQaxNit5Q9yA+x6ciJmUpEHgBrxtwmiGGBY40= github.com/cs3org/reva v0.1.1-0.20200528123359-7d74bf8e9928 h1:6dIWlFuZNGz3tmK8IF/1JQ/TkmTj0/v3dSt0Zi1zrX0= github.com/cs3org/reva v0.1.1-0.20200528123359-7d74bf8e9928/go.mod h1:ig/TuMCG/l6vjOvFkj/4tU27PBvcig+Kfjc4mF++BwQ= @@ -176,6 +186,12 @@ github.com/cs3org/reva v0.1.1-0.20200622084157-4925dc73ec86 h1:TSG6ZPczyWmyFl74v github.com/cs3org/reva v0.1.1-0.20200622084157-4925dc73ec86/go.mod h1:tFcYbIPMOKMITn2b7j4i4oNoiakNXkCD8Bx6pwf7N/U= github.com/cs3org/reva v0.1.1-0.20200624063447-db5e6635d5f0 h1:zzwEoAxYKhEbWzfaa43Va1pO4OSXWiS+1P/CsLn2als= github.com/cs3org/reva v0.1.1-0.20200624063447-db5e6635d5f0/go.mod h1:AwSrblO/VrqvX1M+y+p0+4rSUAO0/PGVA1FR0GKYANs= +github.com/cs3org/reva v0.1.1-0.20200625112940-6a2822cb3f15 h1:ND/a8QsIUhL12gZerFMv/YnoWhpt23xW3ExxfT2oHP0= +github.com/cs3org/reva v0.1.1-0.20200625112940-6a2822cb3f15/go.mod h1:7i7pnpPAO0eKy/9+az2YndOVFub0gZCDenpU6EyZqJI= +github.com/cs3org/reva v0.1.1-0.20200625144447-03e6aba90379 h1:IvAcfPZ7Ii9KAPBGLTIxXuN6qqJSZWRIlYiErThobzM= +github.com/cs3org/reva v0.1.1-0.20200625144447-03e6aba90379/go.mod h1:qmaOljVCmm3kcRS8RW5E34Voly4dDCFdlllj/j4KW/0= +github.com/cs3org/reva v0.1.1-0.20200626083045-8d345749ae0d h1:SCUMOhkYTEjFA7IsMlj49bF+cCgTEbfnBme0VFqOhuc= +github.com/cs3org/reva v0.1.1-0.20200626083045-8d345749ae0d/go.mod h1:wunIwvRI7Pd+QFB0YCK+jdAtq0udQzjt8iG7WQ+LLrs= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -501,6 +517,7 @@ github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FK github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3 h1:YPkqC67at8FYaadspW/6uE0COsBxS2656RLEr8Bppgk= github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= @@ -649,7 +666,9 @@ github.com/mitchellh/mapstructure v1.0.0/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.0 h1:iDwIio/3gk2QtLLEsqU5lInaMzos0hDTz8a6lazSFVw= github.com/mitchellh/mapstructure v1.3.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.1 h1:cCBH2gTD2K0OtLlv/Y5H01VQCqmlDxz30kS5Y5bqfLA= github.com/mitchellh/mapstructure v1.3.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= @@ -711,8 +730,10 @@ github.com/ory/fosite v0.29.0/go.mod h1:0atSZmXO7CAcs6NPMI/Qtot8tmZYj04Nddoold4S github.com/ory/fosite v0.31.0/go.mod h1:lSSqjo8Kr/U1P3kJWxsNGHmq7TnH/7pS1ijvQRT7G+g= github.com/ory/fosite v0.31.3 h1:5WjLwfs+yUALZjzKUKGN/M+ddBJ5Ol6NawxuCO2TuAg= github.com/ory/fosite v0.31.3/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= +github.com/ory/fosite v0.32.0 h1:g89HkBt0dgm+HPrbsYZTmyks1NIw0BH/UlEaw84e1ss= github.com/ory/fosite v0.32.0/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= github.com/ory/fosite v0.32.1/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= +github.com/ory/fosite v0.32.2 h1:iRV495P/9EyoYQ8qEHYxFQeeYCdDFawqjAML+qiMF9s= github.com/ory/fosite v0.32.2/go.mod h1:UeBhRgW6nAjTcd8S7kAo0IFsY/rTPyOXPq/t8N20Q8I= github.com/ory/go-acc v0.0.0-20181118080137-ddc355013f90/go.mod h1:sxnvPCxChFuSmTJGj8FdMupeq1BezCiEpDjTUXQ4hf4= github.com/ory/go-acc v0.2.1 h1:Pwcmwd/cSnwJsYN76+w3HU7oXeWFTkwj/KUj1qGDrVw= @@ -783,6 +804,7 @@ github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDa github.com/prometheus/procfs v0.0.6/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.0.8 h1:+fpWZdT24pJBiqJdAwYBjPSk+5YmQzYNPYzQsdzLkt8= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/statsd_exporter v0.15.0 h1:UiwC1L5HkxEPeapXdm2Ye0u1vUJfTj7uwT5yydYpa1E= github.com/prometheus/statsd_exporter v0.15.0/go.mod h1:Dv8HnkoLQkeEjkIE4/2ndAA7WL1zHKK7WMqFQqu72rw= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rainycape/memcache v0.0.0-20150622160815-1031fa0ce2f2/go.mod h1:7tZKcyumwBO6qip7RNQ5r77yrssm9bfCowcLEBcU5IA= @@ -801,6 +823,7 @@ github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.17.2/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I= github.com/rs/zerolog v1.18.0 h1:CbAm3kP2Tptby1i9sYy2MGRg0uxIN9cyDb59Ys7W8z8= github.com/rs/zerolog v1.18.0/go.mod h1:9nvC1axdVrAHcu/s9taAVfBuIdTZLVQmKQyvrUjF5+I= +github.com/rs/zerolog v1.19.0 h1:hYz4ZVdUgjXTBUmrkrw55j1nHx68LfOKIQk5IYtyScg= github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo= github.com/rubenv/sql-migrate v0.0.0-20190212093014-1007f53448d7/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY= github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= @@ -928,6 +951,7 @@ go.opencensus.io v0.22.1/go.mod h1:Ap50jQcDJrx6rB6VgeeFPtuPIf3wMRvRfrfYDO6+BmA= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3 h1:8sGtKOrtQqkN1bp2AtX+misvLIlOmsEsNd+9NIcPEm8= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1214,6 +1238,7 @@ google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8 google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1 h1:EC2SB8S04d2r73uptxphDSUG+kTKVgjRPF+N3xpxRB4= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0 h1:M5a8xTlYTxwMn5ZFkwhRabsygDY5G8TYLyQDBxJNAxE= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1224,6 +1249,7 @@ google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyz google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= gopkg.in/Acconut/lockfile.v1 v1.1.0/go.mod h1:6UCz3wJ8tSFUsPR6uP/j8uegEtDuEEqFxlpi0JI4Umw= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6 h1:jMFz6MfLP0/4fUyZle81rXUoxOBFi19VUFKVDOQfozc= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d h1:TxyelI5cVkbREznMhfzycHdkp5cLA7DpE+GKjSslYhM= diff --git a/pkg/command/frontend.go b/pkg/command/frontend.go index 1578928..e3e6b54 100644 --- a/pkg/command/frontend.go +++ b/pkg/command/frontend.go @@ -6,6 +6,7 @@ import ( "os" "os/signal" "path" + "strings" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -132,7 +133,7 @@ func Frontend(cfg *config.Config) *cli.Command { "config": map[string]interface{}{ "version": "1.8", "website": "reva", - "host": "http://" + cfg.Reva.Frontend.URL, // TODO URLs should include the protocol + "host": urlWithScheme(cfg.Reva.Frontend.URL), "contact": "admin@localhost", "ssl": "false", }, @@ -290,3 +291,13 @@ func Frontend(cfg *config.Config) *cli.Command { }, } } + +// urlWithScheme checks if the given string is prefixed with "http". If it is not, "http://" will be added as prefix. +// As we can't tell if http or https should be the preferred scheme, the correct approach would be to fail on urls +// without scheme. As long as we have default urls in our flagsets which don't have a scheme, this is a feasible workaround. +func urlWithScheme(str string) string { + if !strings.HasPrefix(str, "http") { + str = "http://" + str + } + return str +} diff --git a/pkg/command/gateway.go b/pkg/command/gateway.go index d4802dd..08d8201 100644 --- a/pkg/command/gateway.go +++ b/pkg/command/gateway.go @@ -108,7 +108,7 @@ func Gateway(cfg *config.Config) *cli.Command { "link_grants_file": cfg.Reva.Gateway.LinkGrants, // other "disable_home_creation_on_login": cfg.Reva.Gateway.DisableHomeCreationOnLogin, - "datagateway": cfg.Reva.Frontend.URL, + "datagateway": urlWithScheme(cfg.Reva.DataGateway.URL), "transfer_shared_secret": cfg.Reva.TransferSecret, "transfer_expires": cfg.Reva.TransferExpires, }, diff --git a/pkg/config/config.go b/pkg/config/config.go index 66ac115..942b48b 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -229,8 +229,9 @@ type Reva struct { LDAP LDAP OCDav OCDav Storages StorageConfig - // Ports are used configure which services to start on which port + // Ports are used to configure which services to start on which port Frontend Port + DataGateway Port Gateway Gateway Users Users AuthBasic Port diff --git a/pkg/flagset/frontend.go b/pkg/flagset/frontend.go index e0484fb..b4117df 100644 --- a/pkg/flagset/frontend.go +++ b/pkg/flagset/frontend.go @@ -136,7 +136,7 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { }, &cli.StringFlag{ Name: "url", - Value: "localhost:9140", + Value: "https://localhost:9200", Usage: "URL to use for the reva service", EnvVars: []string{"REVA_FRONTEND_URL"}, Destination: &cfg.Reva.Frontend.URL, diff --git a/pkg/flagset/gateway.go b/pkg/flagset/gateway.go index 87101ff..73b59be 100644 --- a/pkg/flagset/gateway.go +++ b/pkg/flagset/gateway.go @@ -188,11 +188,18 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { &cli.StringFlag{ Name: "frontend-url", - Value: "localhost:9140", + Value: "https://localhost:9200", Usage: "URL to use for the reva service", EnvVars: []string{"REVA_FRONTEND_URL"}, Destination: &cfg.Reva.Frontend.URL, }, + &cli.StringFlag{ + Name: "datagateway-url", + Value: "https://localhost:9200/data", + Usage: "URL to use for the reva datagateway", + EnvVars: []string{"REVA_DATAGATEWAY_URL"}, + Destination: &cfg.Reva.DataGateway.URL, + }, &cli.StringFlag{ Name: "users-url", Value: "localhost:9144", diff --git a/pkg/flagset/storageeos.go b/pkg/flagset/storageeos.go index 450765b..e302832 100644 --- a/pkg/flagset/storageeos.go +++ b/pkg/flagset/storageeos.go @@ -146,7 +146,7 @@ func StorageEOSWithConfig(cfg *config.Config) []cli.Flag { }, &cli.BoolFlag{ Name: "expose-data-server", - Value: true, + Value: false, Usage: "exposes a dedicated data server", EnvVars: []string{"REVA_STORAGE_EOS_EXPOSE_DATA_SERVER"}, Destination: &cfg.Reva.StorageEOS.ExposeDataServer, diff --git a/pkg/flagset/storagehome.go b/pkg/flagset/storagehome.go index aa84c76..4c5cc8d 100644 --- a/pkg/flagset/storagehome.go +++ b/pkg/flagset/storagehome.go @@ -148,7 +148,7 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag { }, &cli.BoolFlag{ Name: "expose-data-server", - Value: true, + Value: false, Usage: "exposes a dedicated data server", EnvVars: []string{"REVA_STORAGE_HOME_EXPOSE_DATA_SERVER"}, Destination: &cfg.Reva.StorageHome.ExposeDataServer, diff --git a/pkg/flagset/storageoc.go b/pkg/flagset/storageoc.go index 5e45273..62d58bc 100644 --- a/pkg/flagset/storageoc.go +++ b/pkg/flagset/storageoc.go @@ -146,7 +146,7 @@ func StorageOCWithConfig(cfg *config.Config) []cli.Flag { }, &cli.BoolFlag{ Name: "expose-data-server", - Value: true, + Value: false, Usage: "exposes a dedicated data server", EnvVars: []string{"REVA_STORAGE_OC_EXPOSE_DATA_SERVER"}, Destination: &cfg.Reva.StorageOC.ExposeDataServer, diff --git a/pkg/flagset/storagepubliclink.go b/pkg/flagset/storagepubliclink.go index 27837cc..a665d95 100644 --- a/pkg/flagset/storagepubliclink.go +++ b/pkg/flagset/storagepubliclink.go @@ -140,7 +140,7 @@ func StoragePublicLink(cfg *config.Config) []cli.Flag { }, &cli.BoolFlag{ Name: "expose-data-server", - Value: true, + Value: false, Usage: "exposes a dedicated data server", EnvVars: []string{"REVA_STORAGE_PUBLIC_LINK_EXPOSE_DATA_SERVER"}, Destination: &cfg.Reva.StoragePublicLink.ExposeDataServer,