272 lines
8.4 KiB
Plaintext
272 lines
8.4 KiB
Plaintext
[vars]
|
|
internal_gateway = "<%= @reva_domain %>"
|
|
provider_domain = "<%= @reva_domain %>"
|
|
external_reva_endpoint = "https://<%= @reva_domain %>" # append here any route if applicable
|
|
efss_sciencemesh_endpoint = "https://<%= @customer %>.<%= @domain %>/index.php/apps/sciencemesh/"
|
|
machine_api_key = "<%= @iopsecret %>"
|
|
efss_shared_secret = "<%= @shared_secret %>"
|
|
|
|
[http]
|
|
certfile = "/etc/revad/tls/<%= @domain %>.crt"
|
|
keyfile = "/etc/revad/tls/<%= @domain %>.key"
|
|
|
|
[log]
|
|
level = "debug"
|
|
|
|
[shared]
|
|
gatewaysvc = "{{ vars.internal_gateway }}:19000"
|
|
|
|
[grpc.services.gateway]
|
|
address = ":19000"
|
|
authregistrysvc = "{{ grpc.services.authregistry.address }}"
|
|
appregistrysvc = "{{ grpc.services.appregistry.address }}"
|
|
storageregistrysvc = "{{ grpc.services.storageregistry.address }}"
|
|
preferencessvc = "{{ grpc.services.userprovider.address }}"
|
|
userprovidersvc = "{{ grpc.services.userprovider.address }}"
|
|
usershareprovidersvc = "{{ grpc.services.usershareprovider.address }}"
|
|
ocmcoresvc = "{{ grpc.services.ocmcore.address }}"
|
|
ocmshareprovidersvc = "{{ grpc.services.ocmshareprovider.address }}"
|
|
ocminvitemanagersvc = "{{ grpc.services.ocminvitemanager.address }}"
|
|
ocmproviderauthorizersvc = "{{ grpc.services.ocmproviderauthorizer.address }}"
|
|
datagateway = "https://{{ http.services.datagateway.address }}/data"
|
|
|
|
transfer_expires = 6 # give it a moment
|
|
commit_share_to_storage_grant = true
|
|
commit_share_to_storage_ref = true
|
|
|
|
[grpc.services.appregistry]
|
|
driver = "static"
|
|
|
|
[grpc.services.appregistry.drivers.static]
|
|
mime_types = [
|
|
{"mime_type" = "text/plain", "extension" = "txt", "name" = "Text file", "description" = "Text file", "allow_creation" = true},
|
|
{"mime_type" = "text/markdown", "extension" = "md", "name" = "Markdown file", "description" = "Markdown file", "allow_creation" = true},
|
|
{"mime_type" = "application/vnd.oasis.opendocument.text", "extension" = "odt", "name" = "OpenDocument", "description" = "OpenDocument text document", "default_app" = "Collabora", "allow_creation" = true},
|
|
{"mime_type" = "application/vnd.oasis.opendocument.spreadsheet", "extension" = "ods", "name" = "OpenSpreadsheet", "description" = "OpenDocument spreadsheet document", "default_app" = "Collabora", "allow_creation" = true},
|
|
{"mime_type" = "application/vnd.oasis.opendocument.presentation", "extension" = "odp", "name" = "OpenPresentation", "description" = "OpenDocument presentation document", "default_app" = "Collabora", "allow_creation" = true},
|
|
{"mime_type" = "application/vnd.jupyter", "extension" = "ipynb", "name" = "Jupyter Notebook", "description" = "Jupyter Notebook"}
|
|
]
|
|
|
|
|
|
### AUTH PROVIDERS ###
|
|
|
|
[grpc.services.authregistry]
|
|
driver = "static"
|
|
|
|
[grpc.services.authregistry.drivers.static.rules]
|
|
basic = "{{ grpc.services.authprovider[0].address }}"
|
|
machine = "{{ grpc.services.authprovider[1].address }}"
|
|
ocmshares = "{{ grpc.services.authprovider[2].address }}"
|
|
|
|
[[grpc.services.authprovider]]
|
|
auth_manager = "nextcloud"
|
|
|
|
[grpc.services.authprovider.auth_managers.nextcloud]
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
|
|
[[grpc.services.authprovider]]
|
|
auth_manager = "machine"
|
|
|
|
[grpc.services.authprovider.auth_managers.machine]
|
|
api_key = "{{ vars.machine_api_key }}"
|
|
gateway_addr = "{{ vars.internal_gateway }}:19000"
|
|
|
|
[[grpc.services.authprovider]]
|
|
auth_manager = "ocmshares"
|
|
|
|
|
|
### STORAGE PROVIDERS ###
|
|
|
|
[grpc.services.storageregistry]
|
|
driver = "static"
|
|
|
|
[grpc.services.storageregistry.drivers.static]
|
|
home_provider = "/home"
|
|
|
|
[grpc.services.storageregistry.drivers.static.rules]
|
|
"/home" = {"address" = "{{ grpc.services.storageprovider[0].address }}"}
|
|
"nextcloud" = {"address" = "{{ grpc.services.storageprovider[0].address }}"}
|
|
"/ocm" = {"address" = "{{ grpc.services.storageprovider[1].address }}"}
|
|
"ocm" = {"address" = "{{ grpc.services.storageprovider[1].address }}"}
|
|
|
|
[[grpc.services.storageprovider]]
|
|
driver = "nextcloud"
|
|
mount_id = "nextcloud"
|
|
expose_data_server = true
|
|
enable_home_creation = false
|
|
data_server_url = "https://localhost:{{ http.services.dataprovider[0].address.port }}/data"
|
|
|
|
[grpc.services.storageprovider.drivers.nextcloud]
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
|
|
[[grpc.services.storageprovider]]
|
|
driver = "ocmoutcoming"
|
|
mount_id = "ocm"
|
|
mount_path = "/ocm"
|
|
expose_data_server = true
|
|
enable_home_creation = false
|
|
data_server_url = "{{ vars.external_reva_endpoint }}/data"
|
|
|
|
[grpc.services.storageprovider.drivers.ocmoutcoming]
|
|
machine_secret = "{{ vars.machine_api_key }}"
|
|
|
|
|
|
### OTHER PROVIDERS ###
|
|
|
|
[grpc.services.usershareprovider]
|
|
driver = "memory"
|
|
|
|
[grpc.services.ocmcore]
|
|
driver = "nextcloud"
|
|
|
|
[grpc.services.ocmcore.drivers.nextcloud]
|
|
host = "{{ vars.external_reva_endpoint }}"
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
|
|
[grpc.services.ocminvitemanager]
|
|
# TODO the driver should be "nextcloud" once it is implemented
|
|
driver = "json"
|
|
provider_domain = "{{ vars.provider_domain }}"
|
|
|
|
[grpc.services.ocmshareprovider]
|
|
driver = "nextcloud"
|
|
provider_domain = "{{ vars.provider_domain }}"
|
|
webdav_endpoint = "{{ vars.external_reva_endpoint }}"
|
|
webdav_prefix = "{{ vars.external_reva_endpoint }}/remote.php/dav/files"
|
|
# TODO the following should become {{ vars.external_reva_endpoint }}/external/{{.Token}}/...
|
|
webapp_template = "https://your.revad.org/external/sciencemesh/{{.Token}}/{relative-path-to-shared-resource}"
|
|
|
|
[grpc.services.ocmshareprovider.drivers.nextcloud]
|
|
webdav_host = "{{ vars.external_reva_endpoint }}"
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
mount_id = "nextcloud"
|
|
|
|
[grpc.services.ocmproviderauthorizer]
|
|
driver = "mentix"
|
|
|
|
[grpc.services.ocmproviderauthorizer.drivers.mentix]
|
|
url = "https://iop.sciencemesh.uni-muenster.de/iop/mentix/cs3"
|
|
verify_request_hostname = true
|
|
insecure = false
|
|
timeout = 10
|
|
refresh = 900
|
|
|
|
[grpc.services.ocmproviderauthorizer.drivers.json]
|
|
# this is used by the docker-based test deployment, not in production
|
|
providers = "providers.testnet.json"
|
|
verify_request_hostname = true
|
|
|
|
[grpc.services.userprovider]
|
|
driver = "nextcloud"
|
|
|
|
[grpc.services.userprovider.drivers.nextcloud]
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
|
|
[grpc.services.datatx]
|
|
txdriver = "rclone"
|
|
storagedriver = "json"
|
|
remove_transfer_on_cancel = true
|
|
|
|
[grpc.services.datatx.txdrivers.rclone]
|
|
# rclone endpoint
|
|
endpoint = "http://rclone.docker"
|
|
# basic auth is used
|
|
auth_user = "rcloneuser"
|
|
auth_pass = "eilohtho9oTahsuongeeTh7reedahPo1Ohwi3aek"
|
|
auth_header = "x-access-token"
|
|
job_status_check_interval = 2000
|
|
job_timeout = 120000
|
|
storagedriver = "json"
|
|
remove_transfer_job_on_cancel = true
|
|
|
|
[grpc.services.datatx.storagedrivers.json]
|
|
file = ""
|
|
|
|
[grpc.services.datatx.txdrivers.rclone.storagedrivers.json]
|
|
file = ""
|
|
|
|
|
|
### HTTP ENDPOINTS ###
|
|
|
|
[http.services.appprovider]
|
|
address = ":443"
|
|
insecure = true
|
|
|
|
[http.services.datagateway]
|
|
address = ":443"
|
|
|
|
[[http.services.dataprovider]]
|
|
driver = "nextcloud"
|
|
|
|
[http.services.dataprovider.drivers.nextcloud]
|
|
endpoint = "{{ vars.efss_sciencemesh_endpoint }}"
|
|
shared_secret = "{{ vars.efss_shared_secret }}"
|
|
mock_http = false
|
|
|
|
[[http.services.dataprovider]]
|
|
address = ":443"
|
|
driver = "ocmoutcoming"
|
|
|
|
[http.services.dataprovider.drivers.ocmoutcoming]
|
|
machine_secret = "{{ vars.machine_api_key }}"
|
|
|
|
[http.services.sciencemesh]
|
|
address = ":443"
|
|
provider_domain = "{{ vars.provider_domain }}"
|
|
mesh_directory_url = "https://sciencemesh.cesnet.cz/iop/meshdir"
|
|
ocm_mount_point = "/sciencemesh"
|
|
|
|
[http.services.sciencemesh.smtp_credentials]
|
|
disable_auth = false
|
|
sender_mail = "noreply@drive.test.sunet.se"
|
|
sender_login = "noreply@drive.test.sunet.se"
|
|
sender_password = "Zg97oZWjMm!k9EQGqEfMzqQ2X_xBxzC"
|
|
smtp_server = "smtp.sunet.se"
|
|
smtp_port = 587
|
|
|
|
[http.services.ocmprovider]
|
|
address = ":443"
|
|
ocm_prefix = "ocm"
|
|
provider = "Reva for ownCloud/Nextcloud"
|
|
endpoint = "{{ vars.external_reva_endpoint }}"
|
|
enable_webapp = true
|
|
enable_datatx = true
|
|
|
|
[http.services.ocmd]
|
|
address = ":443"
|
|
prefix = "ocm"
|
|
|
|
[http.services.ocmd.config]
|
|
host = "{{ vars.provider_domain }}"
|
|
|
|
[http.services.ocs]
|
|
address = ":443"
|
|
prefix = "ocs"
|
|
|
|
[http.services.ocdav]
|
|
address = ":443"
|
|
|
|
[http.services.prometheus]
|
|
address = ":443"
|
|
|
|
[http.services.metrics]
|
|
address = ":443"
|
|
metrics_data_driver_type = "json"
|
|
metrics_data_location = "/etc/revad/metrics.json"
|
|
metrics_record_interval = 5000
|
|
|
|
[http.services.sysinfo]
|
|
|
|
[http.middlewares.cors]
|
|
[http.middlewares.log]
|