github.com/cs3org/reva/v2@v2.27.7/tests/oc-integration-tests/drone/gateway.toml (about) 1 # This config file will start a reva service that: 2 # - serves as a gateway for all CS3 requests 3 # - looks up the storageprovider using a storageregistry 4 # - looks up the authprovider using an authregistry 5 # - serves the gateway on grpc port 19000 6 # - serves http datagateway on port 19001 7 # - /data - datagateway: file up and download 8 9 [shared] 10 jwt_secret = "Pive-Fumkiu4" 11 gatewaysvc = "localhost:19000" 12 13 [grpc] 14 address = "0.0.0.0:19000" 15 16 [grpc.services.gateway] 17 # registries 18 authregistrysvc = "localhost:19000" 19 storageregistrysvc = "localhost:19000" 20 # user metadata 21 preferencessvc = "localhost:18000" 22 userprovidersvc = "localhost:18000" 23 groupprovidersvc = "localhost:18000" 24 # an approvider lives on "localhost:18000" as well, see users.toml 25 # sharing 26 usershareprovidersvc = "localhost:17000" 27 publicshareprovidersvc = "localhost:17000" 28 # ocm 29 ocmcoresvc = "localhost:14000" 30 ocmshareprovidersvc = "localhost:14000" 31 ocminvitemanagersvc = "localhost:14000" 32 ocmproviderauthorizersvc = "localhost:14000" 33 # permissions 34 permissionssvc = "localhost:10000" 35 # other 36 commit_share_to_storage_grant = true 37 share_folder = "Shares" 38 datagateway = "http://localhost:19001/data" 39 transfer_shared_secret = "replace-me-with-a-transfer-secret" # for direct uploads 40 transfer_expires = 6 # give it a moment 41 #disable_home_creation_on_login = true 42 link_grants_file = "/drone/src/tmp/reva/link_grants_file.json" 43 44 [grpc.services.authregistry] 45 driver = "static" 46 47 [grpc.services.authregistry.drivers.static.rules] 48 publicshares = "localhost:17000" # started with the shares.toml 49 basic = "localhost:18000" # started with the users.toml 50 bearer = "localhost:20099" # started with the frontend.toml 51 machine = "localhost:21000" # started with the machine-auth.toml 52 53 [grpc.services.storageregistry] 54 driver = "spaces" 55 56 [grpc.services.storageregistry.drivers.spaces] 57 home_template = "/users/{{.Id.OpaqueId}}" 58 59 ## obviously, we do not want to define a rule for every user and space, which is why we can define naming rules: 60 [grpc.services.storageregistry.drivers.spaces.providers."localhost:11000"] 61 providerid = "1284d238-aa92-42ce-bdc4-0b0000009157" 62 [grpc.services.storageregistry.drivers.spaces.providers."localhost:11000".spaces] 63 "personal" = { "mount_point" = "/users", "path_template" = "/users/{{.Space.Owner.Id.OpaqueId}}" } 64 65 ## users can be spread over multiple providers like this: 66 #"localhost:11000" = {"mount_path" = "/users/[0-9]", "space_type" = "personal", "path_template" = "/users/{{.Space.Owner.Id.OpaqueId}}", "description" = "personal spaces 0-9"} 67 #"localhost:11010" = {"mount_path" = "/users/[a-f]", "space_type" = "personal", "path_template" = "/users/{{.Space.Owner.Id.OpaqueId}}", "description" = "personal spaces a-f"} 68 69 ## the virtual /Shares folder of every user is routed like this: 70 ## whenever the path matches the pattern /users/{{.CurrentUser.Id.OpaqueId}}/Shares we forward requests to the sharesstorageprovider 71 [grpc.services.storageregistry.drivers.spaces.providers."localhost:14000"] 72 providerid = "a0ca6a90-a365-4782-871e-d44447bbc668" 73 [grpc.services.storageregistry.drivers.spaces.providers."localhost:14000".spaces] 74 "virtual" = { "mount_point" = "/users/{{.CurrentUser.Id.OpaqueId}}/Shares" } 75 "grant" = { "mount_point" = "." } 76 "mountpoint" = { "mount_point" = "/users/{{.CurrentUser.Id.OpaqueId}}/Shares", "path_template" = "/users/{{.CurrentUser.Id.OpaqueId}}/Shares/{{.Space.Name}}" } 77 78 ## An alternative would be used to mount shares outside of the users home: 79 #"localhost:14000" = {"mount_path" = "/shares", "space_type" = "share", "path_template" = "/shares/{{.Space.Name}}", "description" = "shares"} 80 81 ## While public shares are mounted at /public logged in end will should never see that path because it is only created by the spaces registry when 82 ## a public link is accessed. 83 [grpc.services.storageregistry.drivers.spaces.providers."localhost:13000"] 84 providerid = "7993447f-687f-490d-875c-ac95e89a62a4" 85 [grpc.services.storageregistry.drivers.spaces.providers."localhost:13000".spaces] 86 "grant" = { "mount_point" = "." } 87 "mountpoint" = { "mount_point" = "/public", "path_template" = "/public/{{.Space.Root.OpaqueId}}" } 88 89 [http] 90 address = "0.0.0.0:19001" 91 92 [http.services.datagateway] 93 transfer_shared_secret = "replace-me-with-a-transfer-secret"