From 2f2e93e1486eb496b07292a325feb76b21e041b2 Mon Sep 17 00:00:00 2001 From: jkoberg Date: Tue, 31 Jan 2023 14:40:02 +0100 Subject: [PATCH 1/3] don't configure events for storage provider Signed-off-by: jkoberg --- services/storage-users/pkg/command/uploads.go | 8 +- .../storage-users/pkg/revaconfig/config.go | 4 +- .../storage-users/pkg/revaconfig/drivers.go | 248 ++++++++++++++++++ services/storage-users/pkg/revaconfig/user.go | 187 ++----------- 4 files changed, 280 insertions(+), 167 deletions(-) create mode 100644 services/storage-users/pkg/revaconfig/drivers.go diff --git a/services/storage-users/pkg/command/uploads.go b/services/storage-users/pkg/command/uploads.go index 506dee2da..568864def 100644 --- a/services/storage-users/pkg/command/uploads.go +++ b/services/storage-users/pkg/command/uploads.go @@ -44,8 +44,8 @@ func ListUploads(cfg *config.Config) *cli.Command { fmt.Fprintf(os.Stderr, "Unknown filesystem driver '%s'\n", cfg.Driver) os.Exit(1) } - drivers := revaconfig.UserDrivers(cfg) - fs, err := f(drivers[cfg.Driver].(map[string]interface{})) + drivers := revaconfig.StorageProviderDrivers(cfg) + fs, err := f(drivers[cfg.Driver].(map[string]interface{}), nil) if err != nil { fmt.Fprintf(os.Stderr, "Failed to initialize filesystem driver '%s'\n", cfg.Driver) return err @@ -85,8 +85,8 @@ func PurgeExpiredUploads(cfg *config.Config) *cli.Command { fmt.Fprintf(os.Stderr, "Unknown filesystem driver '%s'\n", cfg.Driver) os.Exit(1) } - drivers := revaconfig.UserDrivers(cfg) - fs, err := f(drivers[cfg.Driver].(map[string]interface{})) + drivers := revaconfig.StorageProviderDrivers(cfg) + fs, err := f(drivers[cfg.Driver].(map[string]interface{}), nil) if err != nil { fmt.Fprintf(os.Stderr, "Failed to initialize filesystem driver '%s'\n", cfg.Driver) return err diff --git a/services/storage-users/pkg/revaconfig/config.go b/services/storage-users/pkg/revaconfig/config.go index 91e2ad06d..cb072d817 100644 --- a/services/storage-users/pkg/revaconfig/config.go +++ b/services/storage-users/pkg/revaconfig/config.go @@ -31,7 +31,7 @@ func StorageUsersConfigFromStruct(cfg *config.Config) map[string]interface{} { "services": map[string]interface{}{ "storageprovider": map[string]interface{}{ "driver": cfg.Driver, - "drivers": UserDrivers(cfg), + "drivers": StorageProviderDrivers(cfg), "mount_id": cfg.MountID, "expose_data_server": cfg.ExposeDataServer, "data_server_url": cfg.DataServerURL, @@ -65,7 +65,7 @@ func StorageUsersConfigFromStruct(cfg *config.Config) map[string]interface{} { "dataprovider": map[string]interface{}{ "prefix": cfg.HTTP.Prefix, "driver": cfg.Driver, - "drivers": UserDrivers(cfg), + "drivers": DataProviderDrivers(cfg), "nats_address": cfg.Events.Addr, "nats_clusterID": cfg.Events.ClusterID, "nats_tls_insecure": cfg.Events.TLSInsecure, diff --git a/services/storage-users/pkg/revaconfig/drivers.go b/services/storage-users/pkg/revaconfig/drivers.go new file mode 100644 index 000000000..86758ba77 --- /dev/null +++ b/services/storage-users/pkg/revaconfig/drivers.go @@ -0,0 +1,248 @@ +package revaconfig + +import "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" + +// EOS is the config mapping for the EOS storage driver +func EOS(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "namespace": cfg.Drivers.EOS.Root, + "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, + "uploads_namespace": cfg.Drivers.EOS.UploadsNamespace, + "share_folder": cfg.Drivers.EOS.ShareFolder, + "eos_binary": cfg.Drivers.EOS.EosBinary, + "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, + "master_url": cfg.Drivers.EOS.MasterURL, + "slave_url": cfg.Drivers.EOS.SlaveURL, + "cache_directory": cfg.Drivers.EOS.CacheDirectory, + "sec_protocol": cfg.Drivers.EOS.SecProtocol, + "keytab": cfg.Drivers.EOS.Keytab, + "single_username": cfg.Drivers.EOS.SingleUsername, + "enable_logging": cfg.Drivers.EOS.EnableLogging, + "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, + "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, + "use_keytab": cfg.Drivers.EOS.UseKeytab, + "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, + } +} + +// EOSHome is the config mapping for the EOSHome storage driver +func EOSHome(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "namespace": cfg.Drivers.EOS.Root, + "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, + "uploads_namespace": cfg.Drivers.EOS.UploadsNamespace, + "share_folder": cfg.Drivers.EOS.ShareFolder, + "eos_binary": cfg.Drivers.EOS.EosBinary, + "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, + "master_url": cfg.Drivers.EOS.MasterURL, + "slave_url": cfg.Drivers.EOS.SlaveURL, + "cache_directory": cfg.Drivers.EOS.CacheDirectory, + "sec_protocol": cfg.Drivers.EOS.SecProtocol, + "keytab": cfg.Drivers.EOS.Keytab, + "single_username": cfg.Drivers.EOS.SingleUsername, + "user_layout": cfg.Drivers.EOS.UserLayout, + "enable_logging": cfg.Drivers.EOS.EnableLogging, + "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, + "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, + "use_keytab": cfg.Drivers.EOS.UseKeytab, + "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, + } +} + +// EOSGRPC is the config mapping for the EOSGRPC storage driver +func EOSGRPC(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "namespace": cfg.Drivers.EOS.Root, + "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, + "share_folder": cfg.Drivers.EOS.ShareFolder, + "eos_binary": cfg.Drivers.EOS.EosBinary, + "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, + "master_url": cfg.Drivers.EOS.MasterURL, + "master_grpc_uri": cfg.Drivers.EOS.GRPCURI, + "slave_url": cfg.Drivers.EOS.SlaveURL, + "cache_directory": cfg.Drivers.EOS.CacheDirectory, + "sec_protocol": cfg.Drivers.EOS.SecProtocol, + "keytab": cfg.Drivers.EOS.Keytab, + "single_username": cfg.Drivers.EOS.SingleUsername, + "user_layout": cfg.Drivers.EOS.UserLayout, + "enable_logging": cfg.Drivers.EOS.EnableLogging, + "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, + "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, + "use_keytab": cfg.Drivers.EOS.UseKeytab, + "enable_home": false, + "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, + } +} + +// Local is the config mapping for the Local storage driver +func Local(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.Local.Root, + "share_folder": cfg.Drivers.Local.ShareFolder, + } +} + +// LocalHome is the config mapping for the LocalHome storage driver +func LocalHome(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.Local.Root, + "share_folder": cfg.Drivers.Local.ShareFolder, + "user_layout": cfg.Drivers.Local.UserLayout, + } +} + +// OwnCloudSQL is the config mapping for the OwnCloudSQL storage driver +func OwnCloudSQL(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "datadirectory": cfg.Drivers.OwnCloudSQL.Root, + "upload_info_dir": cfg.Drivers.OwnCloudSQL.UploadInfoDir, + "share_folder": cfg.Drivers.OwnCloudSQL.ShareFolder, + "user_layout": cfg.Drivers.OwnCloudSQL.UserLayout, + "enable_home": false, + "dbusername": cfg.Drivers.OwnCloudSQL.DBUsername, + "dbpassword": cfg.Drivers.OwnCloudSQL.DBPassword, + "dbhost": cfg.Drivers.OwnCloudSQL.DBHost, + "dbport": cfg.Drivers.OwnCloudSQL.DBPort, + "dbname": cfg.Drivers.OwnCloudSQL.DBName, + "userprovidersvc": cfg.Drivers.OwnCloudSQL.UsersProviderEndpoint, + } +} + +// Ocis is the config mapping for the Ocis storage driver +func Ocis(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.OCIS.Root, + "user_layout": cfg.Drivers.OCIS.UserLayout, + "share_folder": cfg.Drivers.OCIS.ShareFolder, + "personalspacealias_template": cfg.Drivers.OCIS.PersonalSpaceAliasTemplate, + "generalspacealias_template": cfg.Drivers.OCIS.GeneralSpaceAliasTemplate, + "treetime_accounting": true, + "treesize_accounting": true, + "permissionssvc": cfg.Drivers.OCIS.PermissionsEndpoint, + "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, + "max_acquire_lock_cycles": cfg.Drivers.OCIS.MaxAcquireLockCycles, + "lock_cycle_duration_factor": cfg.Drivers.OCIS.LockCycleDurationFactor, + "asyncfileuploads": cfg.Drivers.OCIS.AsyncUploads, + "statcache": map[string]interface{}{ + "cache_store": cfg.Cache.Store, + "cache_nodes": cfg.Cache.Nodes, + "cache_database": cfg.Cache.Database, + }, + "events": map[string]interface{}{ + "natsaddress": cfg.Events.Addr, + "natsclusterid": cfg.Events.ClusterID, + "tlsinsecure": cfg.Events.TLSInsecure, + "tlsrootcacertificate": cfg.Events.TLSRootCaCertPath, + "numconsumers": cfg.Events.NumConsumers, + }, + "tokens": map[string]interface{}{ + "transfer_shared_secret": cfg.Commons.TransferSecret, + "transfer_expires": cfg.TransferExpires, + "download_endpoint": cfg.DataServerURL, + "datagateway_endpoint": cfg.DataGatewayURL, + }, + } +} + +// OcisNoEvents is the config mapping for the ocis storage driver emitting no events +func OcisNoEvents(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.OCIS.Root, + "user_layout": cfg.Drivers.OCIS.UserLayout, + "share_folder": cfg.Drivers.OCIS.ShareFolder, + "personalspacealias_template": cfg.Drivers.OCIS.PersonalSpaceAliasTemplate, + "generalspacealias_template": cfg.Drivers.OCIS.GeneralSpaceAliasTemplate, + "treetime_accounting": true, + "treesize_accounting": true, + "permissionssvc": cfg.Drivers.OCIS.PermissionsEndpoint, + "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, + "max_acquire_lock_cycles": cfg.Drivers.OCIS.MaxAcquireLockCycles, + "lock_cycle_duration_factor": cfg.Drivers.OCIS.LockCycleDurationFactor, + "statcache": map[string]interface{}{ + "cache_store": cfg.Cache.Store, + "cache_nodes": cfg.Cache.Nodes, + "cache_database": cfg.Cache.Database, + }, + } +} + +// S3 is the config mapping for the s3 storage driver +func S3(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "enable_home": false, + "region": cfg.Drivers.S3.Region, + "access_key": cfg.Drivers.S3.AccessKey, + "secret_key": cfg.Drivers.S3.SecretKey, + "endpoint": cfg.Drivers.S3.Endpoint, + "bucket": cfg.Drivers.S3.Bucket, + "prefix": cfg.Drivers.S3.Root, + } +} + +// S3NG is the config mapping for the s3ng storage driver +func S3NG(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.S3NG.Root, + "user_layout": cfg.Drivers.S3NG.UserLayout, + "share_folder": cfg.Drivers.S3NG.ShareFolder, + "personalspacealias_template": cfg.Drivers.S3NG.PersonalSpaceAliasTemplate, + "generalspacealias_template": cfg.Drivers.S3NG.GeneralSpaceAliasTemplate, + "treetime_accounting": true, + "treesize_accounting": true, + "permissionssvc": cfg.Drivers.S3NG.PermissionsEndpoint, + "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, + "s3.region": cfg.Drivers.S3NG.Region, + "s3.access_key": cfg.Drivers.S3NG.AccessKey, + "s3.secret_key": cfg.Drivers.S3NG.SecretKey, + "s3.endpoint": cfg.Drivers.S3NG.Endpoint, + "s3.bucket": cfg.Drivers.S3NG.Bucket, + "max_acquire_lock_cycles": cfg.Drivers.S3NG.MaxAcquireLockCycles, + "lock_cycle_duration_factor": cfg.Drivers.S3NG.LockCycleDurationFactor, + "asyncfileuploads": cfg.Drivers.OCIS.AsyncUploads, + "statcache": map[string]interface{}{ + "cache_store": cfg.Cache.Store, + "cache_nodes": cfg.Cache.Nodes, + "cache_database": cfg.Cache.Database, + }, + "events": map[string]interface{}{ + "natsaddress": cfg.Events.Addr, + "natsclusterid": cfg.Events.ClusterID, + "tlsinsecure": cfg.Events.TLSInsecure, + "tlsrootcacertificate": cfg.Events.TLSRootCaCertPath, + "numconsumers": cfg.Events.NumConsumers, + }, + "tokens": map[string]interface{}{ + "transfer_shared_secret": cfg.Commons.TransferSecret, + "transfer_expires": cfg.TransferExpires, + "download_endpoint": cfg.DataServerURL, + "datagateway_endpoint": cfg.DataGatewayURL, + }, + } +} + +// S3NGNoEvents is the config mapping for the s3ng storage driver emitting no events +func S3NGNoEvents(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "root": cfg.Drivers.S3NG.Root, + "user_layout": cfg.Drivers.S3NG.UserLayout, + "share_folder": cfg.Drivers.S3NG.ShareFolder, + "personalspacealias_template": cfg.Drivers.S3NG.PersonalSpaceAliasTemplate, + "generalspacealias_template": cfg.Drivers.S3NG.GeneralSpaceAliasTemplate, + "treetime_accounting": true, + "treesize_accounting": true, + "permissionssvc": cfg.Drivers.S3NG.PermissionsEndpoint, + "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, + "s3.region": cfg.Drivers.S3NG.Region, + "s3.access_key": cfg.Drivers.S3NG.AccessKey, + "s3.secret_key": cfg.Drivers.S3NG.SecretKey, + "s3.endpoint": cfg.Drivers.S3NG.Endpoint, + "s3.bucket": cfg.Drivers.S3NG.Bucket, + "max_acquire_lock_cycles": cfg.Drivers.S3NG.MaxAcquireLockCycles, + "lock_cycle_duration_factor": cfg.Drivers.S3NG.LockCycleDurationFactor, + "statcache": map[string]interface{}{ + "cache_store": cfg.Cache.Store, + "cache_nodes": cfg.Cache.Nodes, + "cache_database": cfg.Cache.Database, + }, + } +} diff --git a/services/storage-users/pkg/revaconfig/user.go b/services/storage-users/pkg/revaconfig/user.go index 0e6830408..ef64d94b2 100644 --- a/services/storage-users/pkg/revaconfig/user.go +++ b/services/storage-users/pkg/revaconfig/user.go @@ -2,167 +2,32 @@ package revaconfig import "github.com/owncloud/ocis/v2/services/storage-users/pkg/config" -func UserDrivers(cfg *config.Config) map[string]interface{} { +// StorageProviderDrivers are the drivers for the storage provider +func StorageProviderDrivers(cfg *config.Config) map[string]interface{} { return map[string]interface{}{ - "eos": map[string]interface{}{ - "namespace": cfg.Drivers.EOS.Root, - "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, - "uploads_namespace": cfg.Drivers.EOS.UploadsNamespace, - "share_folder": cfg.Drivers.EOS.ShareFolder, - "eos_binary": cfg.Drivers.EOS.EosBinary, - "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, - "master_url": cfg.Drivers.EOS.MasterURL, - "slave_url": cfg.Drivers.EOS.SlaveURL, - "cache_directory": cfg.Drivers.EOS.CacheDirectory, - "sec_protocol": cfg.Drivers.EOS.SecProtocol, - "keytab": cfg.Drivers.EOS.Keytab, - "single_username": cfg.Drivers.EOS.SingleUsername, - "enable_logging": cfg.Drivers.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, - "use_keytab": cfg.Drivers.EOS.UseKeytab, - "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, - }, - "eoshome": map[string]interface{}{ - "namespace": cfg.Drivers.EOS.Root, - "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, - "uploads_namespace": cfg.Drivers.EOS.UploadsNamespace, - "share_folder": cfg.Drivers.EOS.ShareFolder, - "eos_binary": cfg.Drivers.EOS.EosBinary, - "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, - "master_url": cfg.Drivers.EOS.MasterURL, - "slave_url": cfg.Drivers.EOS.SlaveURL, - "cache_directory": cfg.Drivers.EOS.CacheDirectory, - "sec_protocol": cfg.Drivers.EOS.SecProtocol, - "keytab": cfg.Drivers.EOS.Keytab, - "single_username": cfg.Drivers.EOS.SingleUsername, - "user_layout": cfg.Drivers.EOS.UserLayout, - "enable_logging": cfg.Drivers.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, - "use_keytab": cfg.Drivers.EOS.UseKeytab, - "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, - }, - "eosgrpc": map[string]interface{}{ - "namespace": cfg.Drivers.EOS.Root, - "shadow_namespace": cfg.Drivers.EOS.ShadowNamespace, - "share_folder": cfg.Drivers.EOS.ShareFolder, - "eos_binary": cfg.Drivers.EOS.EosBinary, - "xrdcopy_binary": cfg.Drivers.EOS.XrdcopyBinary, - "master_url": cfg.Drivers.EOS.MasterURL, - "master_grpc_uri": cfg.Drivers.EOS.GRPCURI, - "slave_url": cfg.Drivers.EOS.SlaveURL, - "cache_directory": cfg.Drivers.EOS.CacheDirectory, - "sec_protocol": cfg.Drivers.EOS.SecProtocol, - "keytab": cfg.Drivers.EOS.Keytab, - "single_username": cfg.Drivers.EOS.SingleUsername, - "user_layout": cfg.Drivers.EOS.UserLayout, - "enable_logging": cfg.Drivers.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Drivers.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Drivers.EOS.ForceSingleUserMode, - "use_keytab": cfg.Drivers.EOS.UseKeytab, - "enable_home": false, - "gatewaysvc": cfg.Drivers.EOS.GatewaySVC, - }, - "local": map[string]interface{}{ - "root": cfg.Drivers.Local.Root, - "share_folder": cfg.Drivers.Local.ShareFolder, - }, - "localhome": map[string]interface{}{ - "root": cfg.Drivers.Local.Root, - "share_folder": cfg.Drivers.Local.ShareFolder, - "user_layout": cfg.Drivers.Local.UserLayout, - }, - "owncloudsql": map[string]interface{}{ - "datadirectory": cfg.Drivers.OwnCloudSQL.Root, - "upload_info_dir": cfg.Drivers.OwnCloudSQL.UploadInfoDir, - "share_folder": cfg.Drivers.OwnCloudSQL.ShareFolder, - "user_layout": cfg.Drivers.OwnCloudSQL.UserLayout, - "enable_home": false, - "dbusername": cfg.Drivers.OwnCloudSQL.DBUsername, - "dbpassword": cfg.Drivers.OwnCloudSQL.DBPassword, - "dbhost": cfg.Drivers.OwnCloudSQL.DBHost, - "dbport": cfg.Drivers.OwnCloudSQL.DBPort, - "dbname": cfg.Drivers.OwnCloudSQL.DBName, - "userprovidersvc": cfg.Drivers.OwnCloudSQL.UsersProviderEndpoint, - }, - "ocis": map[string]interface{}{ - "root": cfg.Drivers.OCIS.Root, - "user_layout": cfg.Drivers.OCIS.UserLayout, - "share_folder": cfg.Drivers.OCIS.ShareFolder, - "personalspacealias_template": cfg.Drivers.OCIS.PersonalSpaceAliasTemplate, - "generalspacealias_template": cfg.Drivers.OCIS.GeneralSpaceAliasTemplate, - "treetime_accounting": true, - "treesize_accounting": true, - "permissionssvc": cfg.Drivers.OCIS.PermissionsEndpoint, - "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, - "max_acquire_lock_cycles": cfg.Drivers.OCIS.MaxAcquireLockCycles, - "lock_cycle_duration_factor": cfg.Drivers.OCIS.LockCycleDurationFactor, - "asyncfileuploads": cfg.Drivers.OCIS.AsyncUploads, - "statcache": map[string]interface{}{ - "cache_store": cfg.Cache.Store, - "cache_nodes": cfg.Cache.Nodes, - "cache_database": cfg.Cache.Database, - }, - "events": map[string]interface{}{ - "natsaddress": cfg.Events.Addr, - "natsclusterid": cfg.Events.ClusterID, - "tlsinsecure": cfg.Events.TLSInsecure, - "tlsrootcacertificate": cfg.Events.TLSRootCaCertPath, - "numconsumers": cfg.Events.NumConsumers, - }, - "tokens": map[string]interface{}{ - "transfer_shared_secret": cfg.Commons.TransferSecret, - "transfer_expires": cfg.TransferExpires, - "download_endpoint": cfg.DataServerURL, - "datagateway_endpoint": cfg.DataGatewayURL, - }, - }, - "s3": map[string]interface{}{ - "enable_home": false, - "region": cfg.Drivers.S3.Region, - "access_key": cfg.Drivers.S3.AccessKey, - "secret_key": cfg.Drivers.S3.SecretKey, - "endpoint": cfg.Drivers.S3.Endpoint, - "bucket": cfg.Drivers.S3.Bucket, - "prefix": cfg.Drivers.S3.Root, - }, - "s3ng": map[string]interface{}{ - "root": cfg.Drivers.S3NG.Root, - "user_layout": cfg.Drivers.S3NG.UserLayout, - "share_folder": cfg.Drivers.S3NG.ShareFolder, - "personalspacealias_template": cfg.Drivers.S3NG.PersonalSpaceAliasTemplate, - "generalspacealias_template": cfg.Drivers.S3NG.GeneralSpaceAliasTemplate, - "treetime_accounting": true, - "treesize_accounting": true, - "permissionssvc": cfg.Drivers.S3NG.PermissionsEndpoint, - "permissionssvc_tls_mode": cfg.Commons.GRPCClientTLS.Mode, - "s3.region": cfg.Drivers.S3NG.Region, - "s3.access_key": cfg.Drivers.S3NG.AccessKey, - "s3.secret_key": cfg.Drivers.S3NG.SecretKey, - "s3.endpoint": cfg.Drivers.S3NG.Endpoint, - "s3.bucket": cfg.Drivers.S3NG.Bucket, - "max_acquire_lock_cycles": cfg.Drivers.S3NG.MaxAcquireLockCycles, - "lock_cycle_duration_factor": cfg.Drivers.S3NG.LockCycleDurationFactor, - "asyncfileuploads": cfg.Drivers.OCIS.AsyncUploads, - "statcache": map[string]interface{}{ - "cache_store": cfg.Cache.Store, - "cache_nodes": cfg.Cache.Nodes, - "cache_database": cfg.Cache.Database, - }, - "events": map[string]interface{}{ - "natsaddress": cfg.Events.Addr, - "natsclusterid": cfg.Events.ClusterID, - "tlsinsecure": cfg.Events.TLSInsecure, - "tlsrootcacertificate": cfg.Events.TLSRootCaCertPath, - "numconsumers": cfg.Events.NumConsumers, - }, - "tokens": map[string]interface{}{ - "transfer_shared_secret": cfg.Commons.TransferSecret, - "transfer_expires": cfg.TransferExpires, - "download_endpoint": cfg.DataServerURL, - "datagateway_endpoint": cfg.DataGatewayURL, - }, - }, + "eos": EOS(cfg), + "eoshome": EOSHome(cfg), + "eosgrpc": EOSGRPC(cfg), + "local": Local(cfg), + "localhome": LocalHome(cfg), + "owncloudsql": OwnCloudSQL(cfg), + "ocis": OcisNoEvents(cfg), + "s3": S3(cfg), + "s3ng": S3NGNoEvents(cfg), + } +} + +// DataProviderDrivers are the drivers for the storage provider +func DataProviderDrivers(cfg *config.Config) map[string]interface{} { + return map[string]interface{}{ + "eos": EOS(cfg), + "eoshome": EOSHome(cfg), + "eosgrpc": EOSGRPC(cfg), + "local": Local(cfg), + "localhome": LocalHome(cfg), + "owncloudsql": OwnCloudSQL(cfg), + "ocis": Ocis(cfg), + "s3": S3(cfg), + "s3ng": S3NG(cfg), } } From 395388fde24ed4e993019c63179ea2a6011471eb Mon Sep 17 00:00:00 2001 From: jkoberg Date: Thu, 2 Feb 2023 16:01:42 +0100 Subject: [PATCH 2/3] don't lint revaconfig files Signed-off-by: jkoberg --- sonar-project.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sonar-project.properties b/sonar-project.properties index 9d57f11fd..f2339c681 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -38,4 +38,4 @@ sonar.go.golangci-lint.reportPaths=cache/checkstyle/app-provider_checkstyle.xml, # Exclude files sonar.exclusions=**/third_party,docs/**,changelog/**,*/pkg/assets/embed.go,idp/assets/identifier/**,**/package.json,**/rollup.config.js,CHANGELOG.md,**/pkg/proto/**/*.pb.*,deployments/**,tests/**,vendor-bin/**,README.md,**/mocks/ sonar.coverage.exclusions=**/*_test.go,**mocks/**,/protogen/** -sonar.cpd.exclusions=**/*_test.go +sonar.cpd.exclusions=**/*_test.go,**/revaconfig/** From 5b791cc4cc29391a7fc72510cf2b57c35f7f28f6 Mon Sep 17 00:00:00 2001 From: jkoberg Date: Tue, 31 Jan 2023 16:55:16 +0100 Subject: [PATCH 3/3] bump reva Signed-off-by: jkoberg --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index a7379f1be..f673c804b 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/blevesearch/bleve/v2 v2.3.5 github.com/coreos/go-oidc/v3 v3.4.0 github.com/cs3org/go-cs3apis v0.0.0-20221012090518-ef2996678965 - github.com/cs3org/reva/v2 v2.12.1-0.20230126045302-72336e6ececa + github.com/cs3org/reva/v2 v2.12.1-0.20230203122123-cd2b2a5feca9 github.com/disintegration/imaging v1.6.2 github.com/ggwhite/go-masker v1.0.9 github.com/go-chi/chi/v5 v5.0.7 diff --git a/go.sum b/go.sum index eea1b4c21..7f780bddf 100644 --- a/go.sum +++ b/go.sum @@ -344,8 +344,8 @@ github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3p github.com/crewjam/saml v0.4.6/go.mod h1:ZBOXnNPFzB3CgOkRm7Nd6IVdkG+l/wF+0ZXLqD96t1A= github.com/crewjam/saml v0.4.9 h1:X2jDv4dv3IvfT9t+RhADavzNFAcq3fVxzTCIH3G605U= github.com/crewjam/saml v0.4.9/go.mod h1:9Zh6dWPtB3MSzTRt8fIFH60Z351QQ+s7hCU3J/tTlA4= -github.com/cs3org/reva/v2 v2.12.1-0.20230126045302-72336e6ececa h1:adJ1cFJ2QA+ZaloXEsEAd5jO++qFmEUavv8J2TyvSYY= -github.com/cs3org/reva/v2 v2.12.1-0.20230126045302-72336e6ececa/go.mod h1:u73Df9JAZsDj43GIjQIb3DO1PLJuPutZXkRqQH0oGXA= +github.com/cs3org/reva/v2 v2.12.1-0.20230203122123-cd2b2a5feca9 h1:iokM4RfMgO0HhIERr1MWjRJkIwTt4XhL3fOSc3emlhY= +github.com/cs3org/reva/v2 v2.12.1-0.20230203122123-cd2b2a5feca9/go.mod h1:u73Df9JAZsDj43GIjQIb3DO1PLJuPutZXkRqQH0oGXA= github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8 h1:Z9lwXumT5ACSmJ7WGnFl+OMLLjpz5uR2fyz7dC255FI= github.com/cubewise-code/go-mime v0.0.0-20200519001935-8c5762b177d8/go.mod h1:4abs/jPXcmJzYoYGF91JF9Uq9s/KL5n1jvFDix8KcqY= github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4=