diff --git a/ocis/pkg/command/storagehome.go b/ocis/pkg/command/storageshares.go similarity index 56% rename from ocis/pkg/command/storagehome.go rename to ocis/pkg/command/storageshares.go index bae5c1c67..fe38a4bc3 100644 --- a/ocis/pkg/command/storagehome.go +++ b/ocis/pkg/command/storageshares.go @@ -10,23 +10,22 @@ import ( "github.com/urfave/cli/v2" ) -// StorageHomeCommand is the entrypoint for the storage-home command. -func StorageHomeCommand(cfg *config.Config) *cli.Command { +// StorageSharesCommand is the entrypoint for the storage-shares command. +func StorageSharesCommand(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-home", - Usage: "Start storage and data provider for /home mount", + Name: "storage-shares", + Usage: "Start storage and data provider for /home/Shares mount", Category: "Extensions", - //Flags: flagset.StorageHomeWithConfig(cfg.Storage), Before: func(ctx *cli.Context) error { return ParseStorageCommon(ctx, cfg) }, Action: func(c *cli.Context) error { - origCmd := command.StorageHome(cfg.Storage) + origCmd := command.StorageShares(cfg.Storage) return handleOriginalAction(c, origCmd) }, } } func init() { - register.AddCommand(StorageHomeCommand) + register.AddCommand(StorageSharesCommand) } diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index 2def6c6f5..c66b07c3f 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -108,8 +108,8 @@ func NewService(options ...Option) (*Service, error) { s.ServicesRegistry["storage-authbasic"] = storage.NewAuthBasic s.ServicesRegistry["storage-authbearer"] = storage.NewAuthBearer s.ServicesRegistry["storage-authmachine"] = storage.NewAuthMachine - s.ServicesRegistry["storage-home"] = storage.NewStorageHome s.ServicesRegistry["storage-users"] = storage.NewStorageUsers + s.ServicesRegistry["storage-shares"] = storage.NewStorageShares s.ServicesRegistry["storage-public-link"] = storage.NewStoragePublicLink s.ServicesRegistry["storage-appprovider"] = storage.NewAppProvider diff --git a/storage/pkg/command/frontend.go b/storage/pkg/command/frontend.go index 4161d35c9..5041a36fc 100644 --- a/storage/pkg/command/frontend.go +++ b/storage/pkg/command/frontend.go @@ -199,6 +199,7 @@ func frontendConfigFromStruct(c *cli.Context, cfg *config.Config, filesCfg map[s "resource_info_cache_ttl": cfg.Reva.Frontend.OCSResourceInfoCacheTTL, "prefix": cfg.Reva.Frontend.OCSPrefix, "additional_info_attribute": cfg.Reva.Frontend.OCSAdditionalInfoAttribute, + "machine_auth_apikey": "change-me-please", // FIXME make configurable "cache_warmup_driver": cfg.Reva.Frontend.OCSCacheWarmupDriver, "cache_warmup_drivers": map[string]interface{}{ "cbox": map[string]interface{}{ diff --git a/storage/pkg/command/gateway.go b/storage/pkg/command/gateway.go index 07611aceb..89cf29774 100644 --- a/storage/pkg/command/gateway.go +++ b/storage/pkg/command/gateway.go @@ -179,10 +179,6 @@ func gatewayConfigFromStruct(c *cli.Context, cfg *config.Config, logger log.Logg "storageregistry": map[string]interface{}{ "driver": cfg.Reva.StorageRegistry.Driver, "drivers": map[string]interface{}{ - "static": map[string]interface{}{ - "home_provider": cfg.Reva.StorageRegistry.HomeProvider, - "rules": simpleRules(cfg, logger), - }, "spaces": map[string]interface{}{ "home_provider": cfg.Reva.StorageRegistry.HomeProvider, "rules": spacesRules(cfg, logger), @@ -195,48 +191,6 @@ func gatewayConfigFromStruct(c *cli.Context, cfg *config.Config, logger log.Logg return rcfg } -func simpleRules(cfg *config.Config, logger log.Logger) map[string]map[string]interface{} { - - // if a list of rules is given it overrides the generated rules from below - if len(cfg.Reva.StorageRegistry.Rules) > 0 { - rules := map[string]map[string]interface{}{} - for i := range cfg.Reva.StorageRegistry.Rules { - parts := strings.SplitN(cfg.Reva.StorageRegistry.Rules[i], "=", 2) - rules[parts[0]] = map[string]interface{}{"address": parts[1]} - } - return rules - } - - // check if the rules have to be read from a json file - if cfg.Reva.StorageRegistry.JSON != "" { - data, err := ioutil.ReadFile(cfg.Reva.StorageRegistry.JSON) - if err != nil { - logger.Error().Err(err).Msg("Failed to read storage registry rules from JSON file: " + cfg.Reva.StorageRegistry.JSON) - return nil - } - var rules map[string]map[string]interface{} - if err = json.Unmarshal(data, &rules); err != nil { - logger.Error().Err(err).Msg("Failed to unmarshal storage registry rules") - return nil - } - return rules - } - - // generate rules based on default config - ret := map[string]map[string]interface{}{ - cfg.Reva.StorageHome.MountPath: {"address": cfg.Reva.StorageHome.Endpoint}, - cfg.Reva.StorageHome.AlternativeID: {"address": cfg.Reva.StorageHome.Endpoint}, - cfg.Reva.StorageUsers.MountPath: {"address": cfg.Reva.StorageUsers.Endpoint}, - cfg.Reva.StorageUsers.MountID + ".*": {"address": cfg.Reva.StorageUsers.Endpoint}, - cfg.Reva.StoragePublicLink.MountPath: {"address": cfg.Reva.StoragePublicLink.Endpoint}, - cfg.Reva.StoragePublicLink.MountID: {"address": cfg.Reva.StoragePublicLink.Endpoint}, - // public link storage returns the mount id of the actual storage - // medatada storage not part of the global namespace - } - - return ret -} - func spacesRules(cfg *config.Config, logger log.Logger) map[string]map[string]interface{} { // if a list of rules is given it overrides the generated rules from below @@ -266,11 +220,27 @@ func spacesRules(cfg *config.Config, logger log.Logger) map[string]map[string]in // generate rules based on default config return map[string]map[string]interface{}{ - "/personal": {"address": cfg.Reva.StorageUsers.Endpoint}, + "/home": { + "address": cfg.Reva.StorageUsers.Endpoint, + "space_type": "personal", + "space_owner_self": true, + }, + "/home/Shares": { + "address": cfg.Reva.StorageShares.Endpoint, + "space_type": "share", + "path_template": "/home/Shares/{{.Name}}", + }, + "/users": { + "address": cfg.Reva.StorageUsers.Endpoint, + "space_type": "personal", + "path_template": "/users/{{.Owner.Id.OpaqueId}}", + }, // public link storage returns the mount id of the actual storage - "/public": {"address": cfg.Reva.StoragePublicLink.Endpoint}, - // TODO shares - //"/shares": {"address": cfg.Reva.StoragePublicLink.Endpoint}, + "/public": { + "address": cfg.Reva.StoragePublicLink.Endpoint, + "space_type": "public", + "path_template": "/public", + }, // medatada storage not part of the global namespace } } diff --git a/storage/pkg/command/root.go b/storage/pkg/command/root.go index 4ac235e8c..7de4fc5aa 100644 --- a/storage/pkg/command/root.go +++ b/storage/pkg/command/root.go @@ -36,8 +36,8 @@ func Execute(cfg *config.Config) error { AuthBasic(cfg), AuthBearer(cfg), Sharing(cfg), - StorageHome(cfg), StorageUsers(cfg), + StorageShares(cfg), StoragePublicLink(cfg), StorageMetadata(cfg), Health(cfg), diff --git a/storage/pkg/command/storagedrivers/home.go b/storage/pkg/command/storagedrivers/home.go deleted file mode 100644 index 1f41bdb12..000000000 --- a/storage/pkg/command/storagedrivers/home.go +++ /dev/null @@ -1,132 +0,0 @@ -package storagedrivers - -import ( - "github.com/owncloud/ocis/storage/pkg/config" -) - -func HomeDrivers(cfg *config.Config) map[string]interface{} { - return map[string]interface{}{ - "eos": map[string]interface{}{ - "namespace": cfg.Reva.UserStorage.EOS.Root, - "shadow_namespace": cfg.Reva.UserStorage.EOS.ShadowNamespace, - "uploads_namespace": cfg.Reva.UserStorage.EOS.UploadsNamespace, - "share_folder": cfg.Reva.UserStorage.EOS.ShareFolder, - "eos_binary": cfg.Reva.UserStorage.EOS.EosBinary, - "xrdcopy_binary": cfg.Reva.UserStorage.EOS.XrdcopyBinary, - "master_url": cfg.Reva.UserStorage.EOS.MasterURL, - "slave_url": cfg.Reva.UserStorage.EOS.SlaveURL, - "cache_directory": cfg.Reva.UserStorage.EOS.CacheDirectory, - "sec_protocol": cfg.Reva.UserStorage.EOS.SecProtocol, - "keytab": cfg.Reva.UserStorage.EOS.Keytab, - "single_username": cfg.Reva.UserStorage.EOS.SingleUsername, - "enable_logging": cfg.Reva.UserStorage.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Reva.UserStorage.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Reva.UserStorage.EOS.ForceSingleUserMode, - "use_keytab": cfg.Reva.UserStorage.EOS.UseKeytab, - "gatewaysvc": cfg.Reva.UserStorage.EOS.GatewaySVC, - }, - "eoshome": map[string]interface{}{ - "namespace": cfg.Reva.UserStorage.EOS.Root, - "shadow_namespace": cfg.Reva.UserStorage.EOS.ShadowNamespace, - "uploads_namespace": cfg.Reva.UserStorage.EOS.UploadsNamespace, - "share_folder": cfg.Reva.UserStorage.EOS.ShareFolder, - "eos_binary": cfg.Reva.UserStorage.EOS.EosBinary, - "xrdcopy_binary": cfg.Reva.UserStorage.EOS.XrdcopyBinary, - "master_url": cfg.Reva.UserStorage.EOS.MasterURL, - "slave_url": cfg.Reva.UserStorage.EOS.SlaveURL, - "cache_directory": cfg.Reva.UserStorage.EOS.CacheDirectory, - "sec_protocol": cfg.Reva.UserStorage.EOS.SecProtocol, - "keytab": cfg.Reva.UserStorage.EOS.Keytab, - "single_username": cfg.Reva.UserStorage.EOS.SingleUsername, - "user_layout": cfg.Reva.UserStorage.EOS.UserLayout, - "enable_logging": cfg.Reva.UserStorage.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Reva.UserStorage.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Reva.UserStorage.EOS.ForceSingleUserMode, - "use_keytab": cfg.Reva.UserStorage.EOS.UseKeytab, - "gatewaysvc": cfg.Reva.UserStorage.EOS.GatewaySVC, - }, - "eosgrpc": map[string]interface{}{ - "namespace": cfg.Reva.UserStorage.EOS.Root, - "shadow_namespace": cfg.Reva.UserStorage.EOS.ShadowNamespace, - "share_folder": cfg.Reva.UserStorage.EOS.ShareFolder, - "eos_binary": cfg.Reva.UserStorage.EOS.EosBinary, - "xrdcopy_binary": cfg.Reva.UserStorage.EOS.XrdcopyBinary, - "master_url": cfg.Reva.UserStorage.EOS.MasterURL, - "master_grpc_uri": cfg.Reva.UserStorage.EOS.GrpcURI, - "slave_url": cfg.Reva.UserStorage.EOS.SlaveURL, - "cache_directory": cfg.Reva.UserStorage.EOS.CacheDirectory, - "sec_protocol": cfg.Reva.UserStorage.EOS.SecProtocol, - "keytab": cfg.Reva.UserStorage.EOS.Keytab, - "single_username": cfg.Reva.UserStorage.EOS.SingleUsername, - "user_layout": cfg.Reva.UserStorage.EOS.UserLayout, - "enable_logging": cfg.Reva.UserStorage.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Reva.UserStorage.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Reva.UserStorage.EOS.ForceSingleUserMode, - "use_keytab": cfg.Reva.UserStorage.EOS.UseKeytab, - "enable_home": true, - "gatewaysvc": cfg.Reva.UserStorage.EOS.GatewaySVC, - }, - "local": map[string]interface{}{ - "root": cfg.Reva.UserStorage.Local.Root, - "share_folder": cfg.Reva.UserStorage.Local.ShareFolder, - }, - "localhome": map[string]interface{}{ - "root": cfg.Reva.UserStorage.Local.Root, - "share_folder": cfg.Reva.UserStorage.Local.ShareFolder, - "user_layout": cfg.Reva.UserStorage.Local.UserLayout, - }, - "owncloud": map[string]interface{}{ - "datadirectory": cfg.Reva.UserStorage.OwnCloud.Root, - "upload_info_dir": cfg.Reva.UserStorage.OwnCloud.UploadInfoDir, - "share_folder": cfg.Reva.UserStorage.OwnCloud.ShareFolder, - "user_layout": cfg.Reva.UserStorage.OwnCloud.UserLayout, - "redis": cfg.Reva.UserStorage.OwnCloud.Redis, - "enable_home": true, - "scan": cfg.Reva.UserStorage.OwnCloud.Scan, - "userprovidersvc": cfg.Reva.Users.Endpoint, - }, - "owncloudsql": map[string]interface{}{ - "datadirectory": cfg.Reva.UserStorage.OwnCloudSQL.Root, - "upload_info_dir": cfg.Reva.UserStorage.OwnCloudSQL.UploadInfoDir, - "share_folder": cfg.Reva.UserStorage.OwnCloudSQL.ShareFolder, - "user_layout": cfg.Reva.UserStorage.OwnCloudSQL.UserLayout, - "enable_home": true, - "dbusername": cfg.Reva.UserStorage.OwnCloudSQL.DBUsername, - "dbpassword": cfg.Reva.UserStorage.OwnCloudSQL.DBPassword, - "dbhost": cfg.Reva.UserStorage.OwnCloudSQL.DBHost, - "dbport": cfg.Reva.UserStorage.OwnCloudSQL.DBPort, - "dbname": cfg.Reva.UserStorage.OwnCloudSQL.DBName, - "userprovidersvc": cfg.Reva.Users.Endpoint, - }, - "ocis": map[string]interface{}{ - "root": cfg.Reva.UserStorage.OCIS.Root, - "enable_home": true, - "user_layout": cfg.Reva.UserStorage.OCIS.UserLayout, - "share_folder": cfg.Reva.UserStorage.OCIS.ShareFolder, - "treetime_accounting": true, - "treesize_accounting": true, - "owner": cfg.Reva.UserStorage.OCIS.ServiceUserUUID, // the accounts service system account uuid - }, - "s3": map[string]interface{}{ - "region": cfg.Reva.UserStorage.S3.Region, - "access_key": cfg.Reva.UserStorage.S3.AccessKey, - "secret_key": cfg.Reva.UserStorage.S3.SecretKey, - "endpoint": cfg.Reva.UserStorage.S3.Endpoint, - "bucket": cfg.Reva.UserStorage.S3.Bucket, - }, - "s3ng": map[string]interface{}{ - "root": cfg.Reva.UserStorage.S3NG.Root, - "enable_home": true, - "user_layout": cfg.Reva.UserStorage.S3NG.UserLayout, - "treetime_accounting": true, - "treesize_accounting": true, - "owner": cfg.Reva.UserStorage.S3NG.ServiceUserUUID, // the accounts service system account uuid - "share_folder": cfg.Reva.UserStorage.S3NG.ShareFolder, - "s3.region": cfg.Reva.UserStorage.S3NG.Region, - "s3.access_key": cfg.Reva.UserStorage.S3NG.AccessKey, - "s3.secret_key": cfg.Reva.UserStorage.S3NG.SecretKey, - "s3.endpoint": cfg.Reva.UserStorage.S3NG.Endpoint, - "s3.bucket": cfg.Reva.UserStorage.S3NG.Bucket, - }, - } -} diff --git a/storage/pkg/command/storagepubliclink.go b/storage/pkg/command/storagepubliclink.go index 22591f9b2..0e3966b7d 100644 --- a/storage/pkg/command/storagepubliclink.go +++ b/storage/pkg/command/storagepubliclink.go @@ -101,6 +101,7 @@ func storagePublicLinkConfigFromStruct(c *cli.Context, cfg *config.Config) map[s }, "services": map[string]interface{}{ "publicstorageprovider": map[string]interface{}{ + "mount_id": cfg.Reva.StoragePublicLink.MountID, "gateway_addr": cfg.Reva.Gateway.Endpoint, }, "authprovider": map[string]interface{}{ diff --git a/storage/pkg/command/storagehome.go b/storage/pkg/command/storageshares.go similarity index 51% rename from storage/pkg/command/storagehome.go rename to storage/pkg/command/storageshares.go index 247bf8552..a239170a2 100644 --- a/storage/pkg/command/storagehome.go +++ b/storage/pkg/command/storageshares.go @@ -12,7 +12,6 @@ import ( "github.com/gofrs/uuid" "github.com/oklog/run" ociscfg "github.com/owncloud/ocis/ocis-pkg/config" - "github.com/owncloud/ocis/storage/pkg/command/storagedrivers" "github.com/owncloud/ocis/storage/pkg/config" "github.com/owncloud/ocis/storage/pkg/server/debug" "github.com/owncloud/ocis/storage/pkg/tracing" @@ -20,13 +19,13 @@ import ( "github.com/urfave/cli/v2" ) -// StorageHome is the entrypoint for the storage-home command. -func StorageHome(cfg *config.Config) *cli.Command { +// StorageShares is the entrypoint for the storage-shares command. +func StorageShares(cfg *config.Config) *cli.Command { return &cli.Command{ - Name: "storage-home", - Usage: "Start storage-home service", + Name: "storage-shares", + Usage: "Start storage-shares service", Before: func(c *cli.Context) error { - return ParseConfig(c, cfg, "storage-home") + return ParseConfig(c, cfg, "storage-shares") }, Action: func(c *cli.Context) error { logger := NewLogger(cfg) @@ -40,7 +39,7 @@ func StorageHome(cfg *config.Config) *cli.Command { uuid := uuid.Must(uuid.NewV4()) pidFile := path.Join(os.TempDir(), "revad-"+c.Command.Name+"-"+uuid.String()+".pid") - rcfg := storageHomeConfigFromStruct(c, cfg) + rcfg := storageSharesConfigFromStruct(c, cfg) gr.Add(func() error { runtime.RunWithOptions( @@ -59,7 +58,7 @@ func StorageHome(cfg *config.Config) *cli.Command { debugServer, err := debug.Server( debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageHome.DebugAddr), + debug.Addr(cfg.Reva.StorageShares.DebugAddr), debug.Logger(logger), debug.Context(ctx), debug.Config(cfg), @@ -74,7 +73,7 @@ func StorageHome(cfg *config.Config) *cli.Command { cancel() }) - if !cfg.Reva.StorageHome.Supervised { + if !cfg.Reva.StorageShares.Supervised { sync.Trap(&gr, cancel) } @@ -83,11 +82,11 @@ func StorageHome(cfg *config.Config) *cli.Command { } } -// storageHomeConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. -func storageHomeConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]interface{} { +// storageSharesConfigFromStruct will adapt an oCIS config struct into a reva mapstructure to start a reva service. +func storageSharesConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]interface{} { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageHome.MaxCPUs, + "max_cpus": cfg.Reva.StorageShares.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, @@ -99,37 +98,17 @@ func storageHomeConfigFromStruct(c *cli.Context, cfg *config.Config) map[string] "skip_user_groups_in_token": cfg.Reva.SkipUserGroupsInToken, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageHome.GRPCNetwork, - "address": cfg.Reva.StorageHome.GRPCAddr, - // TODO build services dynamically + "network": cfg.Reva.StorageShares.GRPCNetwork, + "address": cfg.Reva.StorageShares.GRPCAddr, "services": map[string]interface{}{ - "storageprovider": map[string]interface{}{ - "driver": cfg.Reva.StorageHome.Driver, - "drivers": storagedrivers.HomeDrivers(cfg), - "mount_id": cfg.Reva.StorageHome.MountID, - "expose_data_server": cfg.Reva.StorageHome.ExposeDataServer, - "data_server_url": cfg.Reva.StorageHome.DataServerURL, - "tmp_folder": cfg.Reva.StorageHome.TempFolder, - }, - }, - }, - "http": map[string]interface{}{ - "network": cfg.Reva.StorageHome.HTTPNetwork, - "address": cfg.Reva.StorageHome.HTTPAddr, - // TODO build services dynamically - "services": map[string]interface{}{ - "dataprovider": map[string]interface{}{ - "prefix": cfg.Reva.StorageHome.HTTPPrefix, - "driver": cfg.Reva.StorageHome.Driver, - "drivers": storagedrivers.HomeDrivers(cfg), - "timeout": 86400, - "insecure": cfg.Reva.StorageHome.DataProvider.Insecure, - "disable_tus": false, + "sharesstorageprovider": map[string]interface{}{ + "usershareprovidersvc": cfg.Reva.Sharing.Endpoint, + "gateway_addr": cfg.Reva.Gateway.Endpoint, }, }, }, } - if cfg.Reva.StorageHome.ReadOnly { + if cfg.Reva.StorageShares.ReadOnly { gcfg := rcfg["grpc"].(map[string]interface{}) gcfg["interceptors"] = map[string]interface{}{ "readonly": map[string]interface{}{}, @@ -138,35 +117,35 @@ func storageHomeConfigFromStruct(c *cli.Context, cfg *config.Config) map[string] return rcfg } -// StorageHomeSutureService allows for the storage-home command to be embedded and supervised by a suture supervisor tree. -type StorageHomeSutureService struct { +// StorageSharesSutureService allows for the storage-home command to be embedded and supervised by a suture supervisor tree. +type StorageSharesSutureService struct { cfg *config.Config } -// NewStorageHomeSutureService creates a new storage.StorageHomeSutureService -func NewStorageHome(cfg *ociscfg.Config) suture.Service { +// NewStorageShares creates a new storage.StorageSharesSutureService +func NewStorageShares(cfg *ociscfg.Config) suture.Service { cfg.Storage.Commons = cfg.Commons - return StorageHomeSutureService{ + return StorageSharesSutureService{ cfg: cfg.Storage, } } -func (s StorageHomeSutureService) Serve(ctx context.Context) error { - s.cfg.Reva.StorageHome.Context = ctx +func (s StorageSharesSutureService) Serve(ctx context.Context) error { + s.cfg.Reva.StorageShares.Context = ctx f := &flag.FlagSet{} - cmdFlags := StorageHome(s.cfg).Flags + cmdFlags := StorageShares(s.cfg).Flags for k := range cmdFlags { if err := cmdFlags[k].Apply(f); err != nil { return err } } cliCtx := cli.NewContext(nil, f, nil) - if StorageHome(s.cfg).Before != nil { - if err := StorageHome(s.cfg).Before(cliCtx); err != nil { + if StorageShares(s.cfg).Before != nil { + if err := StorageShares(s.cfg).Before(cliCtx); err != nil { return err } } - if err := StorageHome(s.cfg).Action(cliCtx); err != nil { + if err := StorageShares(s.cfg).Action(cliCtx); err != nil { return err } diff --git a/storage/pkg/config/config.go b/storage/pkg/config/config.go index 0687716b3..22b502110 100644 --- a/storage/pkg/config/config.go +++ b/storage/pkg/config/config.go @@ -194,7 +194,6 @@ type DataProvider struct { type StoragePort struct { Port Driver string `ocisConfig:"driver"` - MountPath string `ocisConfig:"mount_path"` MountID string `ocisConfig:"mount_id"` AlternativeID string `ocisConfig:"alternative_id"` ExposeDataServer bool `ocisConfig:"expose_data_server"` @@ -472,7 +471,7 @@ type Reva struct { AuthMachine Port `ocisConfig:"auth_machine"` AuthMachineConfig AuthMachineConfig `ocisConfig:"auth_machine_config"` Sharing Sharing `ocisConfig:"sharing"` - StorageHome StoragePort `ocisConfig:"storage_home"` + StorageShares StoragePort `ocisConfig:"storage_shares"` StorageUsers StoragePort `ocisConfig:"storage_users"` StoragePublicLink PublicStorage `ocisConfig:"storage_public_link"` StorageMetadata StoragePort `ocisConfig:"storage_metadata"` @@ -864,7 +863,7 @@ func DefaultConfig() *Config { PublicJanitorRunInterval: 60, UserStorageMountID: "", }, - StorageHome: StoragePort{ + StorageShares: StoragePort{ Port: Port{ Endpoint: "localhost:9154", DebugAddr: "127.0.0.1:9156", @@ -873,14 +872,9 @@ func DefaultConfig() *Config { HTTPNetwork: "tcp", HTTPAddr: "127.0.0.1:9155", }, - Driver: "ocis", ReadOnly: false, - MountPath: "/home", AlternativeID: "1284d238-aa92-42ce-bdc4-0b0000009154", MountID: "1284d238-aa92-42ce-bdc4-0b0000009157", - DataServerURL: "http://localhost:9155/data", - HTTPPrefix: "data", - TempFolder: path.Join(defaults.BaseDataPath(), "tmp", "home"), }, StorageUsers: StoragePort{ Port: Port{ @@ -891,7 +885,6 @@ func DefaultConfig() *Config { HTTPNetwork: "tcp", HTTPAddr: "127.0.0.1:9158", }, - MountPath: "/users", MountID: "1284d238-aa92-42ce-bdc4-0b0000009157", Driver: "ocis", DataServerURL: "http://localhost:9158/data", @@ -906,8 +899,7 @@ func DefaultConfig() *Config { GRPCNetwork: "tcp", GRPCAddr: "127.0.0.1:9178", }, - MountPath: "/public", - MountID: "e1a73ede-549b-4226-abdf-40e69ca8230d", + MountID: "7993447f-687f-490d-875c-ac95e89a62a4", }, PublicShareProviderAddr: "", UserProviderAddr: "", @@ -991,10 +983,6 @@ func structMappings(cfg *Config) []shared.EnvBinding { EnvVars: []string{"OCIS_INSECURE", "STORAGE_METADATA_DATAPROVIDER_INSECURE"}, Destination: &cfg.Reva.StorageMetadata.DataProvider.Insecure, }, - { - EnvVars: []string{"OCIS_INSECURE", "STORAGE_HOME_DATAPROVIDER_INSECURE"}, - Destination: &cfg.Reva.StorageHome.DataProvider.Insecure, - }, { EnvVars: []string{"OCIS_INSECURE", "STORAGE_FRONTEND_APPPROVIDER_INSECURE"}, Destination: &cfg.Reva.Frontend.AppProviderInsecure, @@ -1023,10 +1011,6 @@ func structMappings(cfg *Config) []shared.EnvBinding { EnvVars: []string{"STORAGE_USERS_DRIVER"}, Destination: &cfg.Reva.StorageUsers.Driver, }, - { - EnvVars: []string{"STORAGE_HOME_DRIVER"}, - Destination: &cfg.Reva.StorageHome.Driver, - }, { EnvVars: []string{"STORAGE_USERS_DRIVER_OWNCLOUD_DATADIR"}, Destination: &cfg.Reva.UserStorage.OwnCloud.Root, @@ -1412,37 +1396,21 @@ func structMappings(cfg *Config) []shared.EnvBinding { EnvVars: []string{"STORAGE_APPPROVIDER_ENDPOINT"}, Destination: &cfg.Reva.AppProvider.Endpoint, }, - { - EnvVars: []string{"STORAGE_HOME_ENDPOINT"}, - Destination: &cfg.Reva.StorageHome.Endpoint, - }, - { - EnvVars: []string{"STORAGE_HOME_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageHome.MountPath, - }, - { - EnvVars: []string{"STORAGE_HOME_MOUNT_ID"}, - Destination: &cfg.Reva.StorageHome.MountID, - }, { EnvVars: []string{"STORAGE_USERS_ENDPOINT"}, Destination: &cfg.Reva.StorageUsers.Endpoint, }, - { - EnvVars: []string{"STORAGE_USERS_MOUNT_PATH"}, - Destination: &cfg.Reva.StorageUsers.MountPath, - }, { EnvVars: []string{"STORAGE_USERS_MOUNT_ID"}, Destination: &cfg.Reva.StorageUsers.MountID, }, { - EnvVars: []string{"STORAGE_PUBLIC_LINK_ENDPOINT"}, - Destination: &cfg.Reva.StoragePublicLink.Endpoint, + EnvVars: []string{"STORAGE_SHARES_ENDPOINT"}, + Destination: &cfg.Reva.StorageShares.Endpoint, }, { - EnvVars: []string{"STORAGE_PUBLIC_LINK_MOUNT_PATH"}, - Destination: &cfg.Reva.StoragePublicLink.MountPath, + EnvVars: []string{"STORAGE_PUBLIC_LINK_ENDPOINT"}, + Destination: &cfg.Reva.StoragePublicLink.Endpoint, }, // groups @@ -1689,48 +1657,6 @@ func structMappings(cfg *Config) []shared.EnvBinding { Destination: &cfg.Reva.Sharing.UserSQLName, }, - // storage home - { - EnvVars: []string{"STORAGE_HOME_DEBUG_ADDR"}, - Destination: &cfg.Reva.StorageHome.DebugAddr, - }, - { - EnvVars: []string{"STORAGE_HOME_GRPC_NETWORK"}, - Destination: &cfg.Reva.StorageHome.GRPCNetwork, - }, - { - EnvVars: []string{"STORAGE_HOME_GRPC_ADDR"}, - Destination: &cfg.Reva.StorageHome.GRPCAddr, - }, - { - EnvVars: []string{"STORAGE_HOME_HTTP_NETWORK"}, - Destination: &cfg.Reva.StorageHome.HTTPNetwork, - }, - { - EnvVars: []string{"STORAGE_HOME_HTTP_ADDR"}, - Destination: &cfg.Reva.StorageHome.HTTPAddr, - }, - { - EnvVars: []string{"OCIS_STORAGE_READ_ONLY", "STORAGE_HOME_READ_ONLY"}, - Destination: &cfg.Reva.StorageHome.ReadOnly, - }, - { - EnvVars: []string{"STORAGE_HOME_EXPOSE_DATA_SERVER"}, - Destination: &cfg.Reva.StorageHome.ExposeDataServer, - }, - { - EnvVars: []string{"STORAGE_HOME_DATA_SERVER_URL"}, - Destination: &cfg.Reva.StorageHome.DataServerURL, - }, - { - EnvVars: []string{"STORAGE_HOME_HTTP_PREFIX"}, - Destination: &cfg.Reva.StorageHome.HTTPPrefix, - }, - { - EnvVars: []string{"STORAGE_HOME_TMP_FOLDER"}, - Destination: &cfg.Reva.StorageHome.TempFolder, - }, - // storage metadata { EnvVars: []string{"STORAGE_METADATA_DEBUG_ADDR"}, @@ -1821,6 +1747,32 @@ func structMappings(cfg *Config) []shared.EnvBinding { Destination: &cfg.Reva.StorageUsers.TempFolder, }, + // storage shares + { + EnvVars: []string{"STORAGE_SHARES_DEBUG_ADDR"}, + Destination: &cfg.Reva.StorageShares.DebugAddr, + }, + { + EnvVars: []string{"STORAGE_SHARES_GRPC_NETWORK"}, + Destination: &cfg.Reva.StorageShares.GRPCNetwork, + }, + { + EnvVars: []string{"STORAGE_SHARES_GRPC_ADDR"}, + Destination: &cfg.Reva.StorageShares.GRPCAddr, + }, + { + EnvVars: []string{"STORAGE_SHARES_HTTP_NETWORK"}, + Destination: &cfg.Reva.StorageShares.HTTPNetwork, + }, + { + EnvVars: []string{"STORAGE_SHARES_HTTP_ADDR"}, + Destination: &cfg.Reva.StorageShares.HTTPAddr, + }, + { + EnvVars: []string{"OCIS_STORAGE_READ_ONLY", "STORAGE_SHARES_READ_ONLY"}, + Destination: &cfg.Reva.StorageShares.ReadOnly, + }, + // tracing { EnvVars: []string{"OCIS_TRACING_ENABLED", "STORAGE_TRACING_ENABLED"}, diff --git a/thumbnails/pkg/thumbnail/imgsource/cs3.go b/thumbnails/pkg/thumbnail/imgsource/cs3.go index 072713978..9cf3db58a 100644 --- a/thumbnails/pkg/thumbnail/imgsource/cs3.go +++ b/thumbnails/pkg/thumbnail/imgsource/cs3.go @@ -58,7 +58,7 @@ func (s CS3) Get(ctx context.Context, path string) (io.ReadCloser, error) { } var ep, tk string for _, p := range rsp.Protocols { - if p.Protocol == "simple" { + if p.Protocol == "spaces" { ep, tk = p.DownloadEndpoint, p.Token } }