diff --git a/extensions/storage/pkg/command/storageshares.go b/extensions/storage-shares/pkg/command/command.go similarity index 71% rename from extensions/storage/pkg/command/storageshares.go rename to extensions/storage-shares/pkg/command/command.go index a4092bac42..97ab89fa94 100644 --- a/extensions/storage/pkg/command/storageshares.go +++ b/extensions/storage-shares/pkg/command/command.go @@ -6,14 +6,15 @@ import ( "os" "path" + "github.com/owncloud/ocis/ocis-pkg/log" "github.com/owncloud/ocis/ocis-pkg/sync" + "github.com/owncloud/ocis/ocis-pkg/tracing" "github.com/cs3org/reva/v2/cmd/revad/runtime" "github.com/gofrs/uuid" "github.com/oklog/run" - "github.com/owncloud/ocis/extensions/storage/pkg/config" + "github.com/owncloud/ocis/extensions/storage-shares/pkg/config" "github.com/owncloud/ocis/extensions/storage/pkg/server/debug" - "github.com/owncloud/ocis/extensions/storage/pkg/tracing" ociscfg "github.com/owncloud/ocis/ocis-pkg/config" "github.com/thejerf/suture/v4" "github.com/urfave/cli/v2" @@ -24,14 +25,18 @@ func StorageShares(cfg *config.Config) *cli.Command { return &cli.Command{ Name: "storage-shares", Usage: "start storage-shares service", - Before: func(c *cli.Context) error { - return ParseConfig(c, cfg, "storage-shares") - }, + // Before: func(c *cli.Context) error { + // return ParseConfig(c, cfg, "storage-shares") + // }, Action: func(c *cli.Context) error { - logger := NewLogger(cfg) - - tracing.Configure(cfg, logger) - + logCfg := cfg.Logging + logger := log.NewLogger( + log.Level(logCfg.Level), + log.File(logCfg.File), + log.Pretty(logCfg.Pretty), + log.Color(logCfg.Color), + ) + tracing.Configure(cfg.Tracing.Enabled, cfg.Tracing.Type, logger) gr := run.Group{} ctx, cancel := context.WithCancel(context.Background()) defer cancel() @@ -58,10 +63,12 @@ func StorageShares(cfg *config.Config) *cli.Command { debugServer, err := debug.Server( debug.Name(c.Command.Name+"-debug"), - debug.Addr(cfg.Reva.StorageShares.DebugAddr), + debug.Addr(cfg.Debug.Addr), debug.Logger(logger), debug.Context(ctx), - debug.Config(cfg), + debug.Pprof(cfg.Debug.Pprof), + debug.Zpages(cfg.Debug.Zpages), + debug.Token(cfg.Debug.Token), ) if err != nil { @@ -73,7 +80,7 @@ func StorageShares(cfg *config.Config) *cli.Command { cancel() }) - if !cfg.Reva.StorageShares.Supervised { + if !cfg.Supervised { sync.Trap(&gr, cancel) } @@ -86,29 +93,27 @@ func StorageShares(cfg *config.Config) *cli.Command { func storageSharesConfigFromStruct(c *cli.Context, cfg *config.Config) map[string]interface{} { rcfg := map[string]interface{}{ "core": map[string]interface{}{ - "max_cpus": cfg.Reva.StorageShares.MaxCPUs, "tracing_enabled": cfg.Tracing.Enabled, "tracing_endpoint": cfg.Tracing.Endpoint, "tracing_collector": cfg.Tracing.Collector, "tracing_service_name": c.Command.Name, }, "shared": map[string]interface{}{ - "jwt_secret": cfg.Reva.JWTSecret, - "gatewaysvc": cfg.Reva.Gateway.Endpoint, - "skip_user_groups_in_token": cfg.Reva.SkipUserGroupsInToken, + "jwt_secret": cfg.JWTSecret, + "gatewaysvc": cfg.GatewayEndpoint, + "skip_user_groups_in_token": cfg.SkipUserGroupsInToken, }, "grpc": map[string]interface{}{ - "network": cfg.Reva.StorageShares.GRPCNetwork, - "address": cfg.Reva.StorageShares.GRPCAddr, + "network": cfg.GRPC.Protocol, + "address": cfg.GRPC.Addr, "services": map[string]interface{}{ "sharesstorageprovider": map[string]interface{}{ - "usershareprovidersvc": cfg.Reva.Sharing.Endpoint, - "gateway_addr": cfg.Reva.Gateway.Endpoint, + "usershareprovidersvc": cfg.SharesProviderEndpoint, }, }, }, } - if cfg.Reva.StorageShares.ReadOnly { + if cfg.ReadOnly { gcfg := rcfg["grpc"].(map[string]interface{}) gcfg["interceptors"] = map[string]interface{}{ "readonly": map[string]interface{}{}, @@ -124,28 +129,29 @@ type StorageSharesSutureService struct { // NewStorageShares creates a new storage.StorageSharesSutureService func NewStorageShares(cfg *ociscfg.Config) suture.Service { - cfg.Storage.Commons = cfg.Commons + cfg.StorageShares.Commons = cfg.Commons return StorageSharesSutureService{ - cfg: cfg.Storage, + cfg: cfg.StorageShares, } } func (s StorageSharesSutureService) Serve(ctx context.Context) error { - s.cfg.Reva.StorageShares.Context = ctx + // s.cfg.Reva.StorageShares.Context = ctx + cmd := StorageShares(s.cfg) f := &flag.FlagSet{} - cmdFlags := StorageShares(s.cfg).Flags + cmdFlags := cmd.Flags for k := range cmdFlags { if err := cmdFlags[k].Apply(f); err != nil { return err } } cliCtx := cli.NewContext(nil, f, nil) - if StorageShares(s.cfg).Before != nil { - if err := StorageShares(s.cfg).Before(cliCtx); err != nil { + if cmd.Before != nil { + if err := cmd.Before(cliCtx); err != nil { return err } } - if err := StorageShares(s.cfg).Action(cliCtx); err != nil { + if err := cmd.Action(cliCtx); err != nil { return err } diff --git a/extensions/storage-shares/pkg/config/config.go b/extensions/storage-shares/pkg/config/config.go new file mode 100644 index 0000000000..8c13456013 --- /dev/null +++ b/extensions/storage-shares/pkg/config/config.go @@ -0,0 +1,60 @@ +package config + +import ( + "context" + + "github.com/owncloud/ocis/ocis-pkg/shared" +) + +type Config struct { + *shared.Commons `yaml:"-"` + Service Service `yaml:"-"` + Tracing *Tracing `yaml:"tracing"` + Logging *Logging `yaml:"log"` + Debug Debug `yaml:"debug"` + Supervised bool + + GRPC GRPCConfig `yaml:"grpc"` + HTTP HTTPConfig `yaml:"http"` + + Context context.Context + JWTSecret string + GatewayEndpoint string + SkipUserGroupsInToken bool + ReadOnly bool + SharesProviderEndpoint string +} +type Tracing struct { + Enabled bool `yaml:"enabled" env:"OCIS_TRACING_ENABLED;STORAGE_METADATA_TRACING_ENABLED" desc:"Activates tracing."` + Type string `yaml:"type" env:"OCIS_TRACING_TYPE;STORAGE_METADATA_TRACING_TYPE"` + Endpoint string `yaml:"endpoint" env:"OCIS_TRACING_ENDPOINT;STORAGE_METADATA_TRACING_ENDPOINT" desc:"The endpoint to the tracing collector."` + Collector string `yaml:"collector" env:"OCIS_TRACING_COLLECTOR;STORAGE_METADATA_TRACING_COLLECTOR"` +} + +type Logging struct { + Level string `yaml:"level" env:"OCIS_LOG_LEVEL;STORAGE_METADATA_LOG_LEVEL" desc:"The log level."` + Pretty bool `yaml:"pretty" env:"OCIS_LOG_PRETTY;STORAGE_METADATA_LOG_PRETTY" desc:"Activates pretty log output."` + Color bool `yaml:"color" env:"OCIS_LOG_COLOR;STORAGE_METADATA_LOG_COLOR" desc:"Activates colorized log output."` + File string `yaml:"file" env:"OCIS_LOG_FILE;STORAGE_METADATA_LOG_FILE" desc:"The target log file."` +} + +type Service struct { + Name string `yaml:"-"` +} + +type Debug struct { + Addr string `yaml:"addr" env:"STORAGE_METADATA_DEBUG_ADDR"` + Token string `yaml:"token" env:"STORAGE_METADATA_DEBUG_TOKEN"` + Pprof bool `yaml:"pprof" env:"STORAGE_METADATA_DEBUG_PPROF"` + Zpages bool `yaml:"zpages" env:"STORAGE_METADATA_DEBUG_ZPAGES"` +} + +type GRPCConfig struct { + Addr string `yaml:"addr" env:"STORAGE_METADATA_GRPC_ADDR" desc:"The address of the grpc service."` + Protocol string `yaml:"protocol" env:"STORAGE_METADATA_GRPC_PROTOCOL" desc:"The transport protocol of the grpc service."` +} + +type HTTPConfig struct { + Addr string `yaml:"addr" env:"STORAGE_METADATA_GRPC_ADDR" desc:"The address of the grpc service."` + Protocol string `yaml:"protocol" env:"STORAGE_METADATA_GRPC_PROTOCOL" desc:"The transport protocol of the grpc service."` +} diff --git a/extensions/storage-shares/pkg/config/defaults/defaultconfig.go b/extensions/storage-shares/pkg/config/defaults/defaultconfig.go new file mode 100644 index 0000000000..b3832de44b --- /dev/null +++ b/extensions/storage-shares/pkg/config/defaults/defaultconfig.go @@ -0,0 +1,64 @@ +package defaults + +import ( + "github.com/owncloud/ocis/extensions/storage-shares/pkg/config" +) + +func FullDefaultConfig() *config.Config { + cfg := DefaultConfig() + + EnsureDefaults(cfg) + + return cfg +} + +func DefaultConfig() *config.Config { + return &config.Config{ + Debug: config.Debug{ + Addr: "127.0.0.1:9156", + Token: "", + Pprof: false, + Zpages: false, + }, + GRPC: config.GRPCConfig{ + Addr: "127.0.0.1:9154", + Protocol: "tcp", + }, + HTTP: config.HTTPConfig{ + Addr: "127.0.0.1:9155", + Protocol: "tcp", + }, + Service: config.Service{ + Name: "storage-metadata", + }, + GatewayEndpoint: "127.0.0.1:9142", + JWTSecret: "Pive-Fumkiu4", + ReadOnly: false, + SharesProviderEndpoint: "localhost:9150", + } +} + +func EnsureDefaults(cfg *config.Config) { + // provide with defaults for shared logging, since we need a valid destination address for BindEnv. + if cfg.Logging == nil && cfg.Commons != nil && cfg.Commons.Log != nil { + cfg.Logging = &config.Logging{ + Level: cfg.Commons.Log.Level, + Pretty: cfg.Commons.Log.Pretty, + Color: cfg.Commons.Log.Color, + File: cfg.Commons.Log.File, + } + } else if cfg.Logging == nil { + cfg.Logging = &config.Logging{} + } + // provide with defaults for shared tracing, since we need a valid destination address for BindEnv. + if cfg.Tracing == nil && cfg.Commons != nil && cfg.Commons.Tracing != nil { + cfg.Tracing = &config.Tracing{ + Enabled: cfg.Commons.Tracing.Enabled, + Type: cfg.Commons.Tracing.Type, + Endpoint: cfg.Commons.Tracing.Endpoint, + Collector: cfg.Commons.Tracing.Collector, + } + } else if cfg.Tracing == nil { + cfg.Tracing = &config.Tracing{} + } +} diff --git a/extensions/storage/pkg/command/root.go b/extensions/storage/pkg/command/root.go index d8a01303d3..b4f5c30cdd 100644 --- a/extensions/storage/pkg/command/root.go +++ b/extensions/storage/pkg/command/root.go @@ -22,7 +22,7 @@ func GetCommands(cfg *config.Config) cli.Commands { // AuthMachine(cfg), // Sharing(cfg), // StoragePublicLink(cfg), - StorageShares(cfg), + // StorageShares(cfg), // StorageUsers(cfg), // StorageMetadata(cfg), Health(cfg), diff --git a/extensions/storage/pkg/command/storagedrivers/metadata.go b/extensions/storage/pkg/command/storagedrivers/metadata.go deleted file mode 100644 index 5e80e8981e..0000000000 --- a/extensions/storage/pkg/command/storagedrivers/metadata.go +++ /dev/null @@ -1,79 +0,0 @@ -package storagedrivers - -import ( - "github.com/owncloud/ocis/extensions/storage/pkg/config" -) - -func MetadataDrivers(cfg *config.Config) map[string]interface{} { - return map[string]interface{}{ - "eos": map[string]interface{}{ - "namespace": cfg.Reva.MetadataStorage.EOS.Root, - "shadow_namespace": cfg.Reva.MetadataStorage.EOS.ShadowNamespace, - "uploads_namespace": cfg.Reva.MetadataStorage.EOS.UploadsNamespace, - "eos_binary": cfg.Reva.MetadataStorage.EOS.EosBinary, - "xrdcopy_binary": cfg.Reva.MetadataStorage.EOS.XrdcopyBinary, - "master_url": cfg.Reva.MetadataStorage.EOS.MasterURL, - "slave_url": cfg.Reva.MetadataStorage.EOS.SlaveURL, - "cache_directory": cfg.Reva.MetadataStorage.EOS.CacheDirectory, - "sec_protocol": cfg.Reva.MetadataStorage.EOS.SecProtocol, - "keytab": cfg.Reva.MetadataStorage.EOS.Keytab, - "single_username": cfg.Reva.MetadataStorage.EOS.SingleUsername, - "enable_logging": cfg.Reva.MetadataStorage.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Reva.MetadataStorage.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Reva.MetadataStorage.EOS.ForceSingleUserMode, - "use_keytab": cfg.Reva.MetadataStorage.EOS.UseKeytab, - "gatewaysvc": cfg.Reva.MetadataStorage.EOS.GatewaySVC, - "enable_home": false, - }, - "eosgrpc": map[string]interface{}{ - "namespace": cfg.Reva.MetadataStorage.EOS.Root, - "shadow_namespace": cfg.Reva.MetadataStorage.EOS.ShadowNamespace, - "eos_binary": cfg.Reva.MetadataStorage.EOS.EosBinary, - "xrdcopy_binary": cfg.Reva.MetadataStorage.EOS.XrdcopyBinary, - "master_url": cfg.Reva.MetadataStorage.EOS.MasterURL, - "master_grpc_uri": cfg.Reva.MetadataStorage.EOS.GrpcURI, - "slave_url": cfg.Reva.MetadataStorage.EOS.SlaveURL, - "cache_directory": cfg.Reva.MetadataStorage.EOS.CacheDirectory, - "sec_protocol": cfg.Reva.MetadataStorage.EOS.SecProtocol, - "keytab": cfg.Reva.MetadataStorage.EOS.Keytab, - "single_username": cfg.Reva.MetadataStorage.EOS.SingleUsername, - "user_layout": cfg.Reva.MetadataStorage.EOS.UserLayout, - "enable_logging": cfg.Reva.MetadataStorage.EOS.EnableLogging, - "show_hidden_sys_files": cfg.Reva.MetadataStorage.EOS.ShowHiddenSysFiles, - "force_single_user_mode": cfg.Reva.MetadataStorage.EOS.ForceSingleUserMode, - "use_keytab": cfg.Reva.MetadataStorage.EOS.UseKeytab, - "enable_home": false, - "gatewaysvc": cfg.Reva.MetadataStorage.EOS.GatewaySVC, - }, - "local": map[string]interface{}{ - "root": cfg.Reva.MetadataStorage.Local.Root, - }, - "ocis": map[string]interface{}{ - "root": cfg.Reva.MetadataStorage.OCIS.Root, - "user_layout": cfg.Reva.MetadataStorage.OCIS.UserLayout, - "treetime_accounting": false, - "treesize_accounting": false, - "permissionssvc": cfg.Reva.Permissions.Endpoint, - }, - "s3": map[string]interface{}{ - "region": cfg.Reva.MetadataStorage.S3.Region, - "access_key": cfg.Reva.MetadataStorage.S3.AccessKey, - "secret_key": cfg.Reva.MetadataStorage.S3.SecretKey, - "endpoint": cfg.Reva.MetadataStorage.S3.Endpoint, - "bucket": cfg.Reva.MetadataStorage.S3.Bucket, - }, - "s3ng": map[string]interface{}{ - "root": cfg.Reva.MetadataStorage.S3NG.Root, - "enable_home": false, - "user_layout": cfg.Reva.MetadataStorage.S3NG.UserLayout, - "treetime_accounting": false, - "treesize_accounting": false, - "permissionssvc": cfg.Reva.Permissions.Endpoint, - "s3.region": cfg.Reva.MetadataStorage.S3NG.Region, - "s3.access_key": cfg.Reva.MetadataStorage.S3NG.AccessKey, - "s3.secret_key": cfg.Reva.MetadataStorage.S3NG.SecretKey, - "s3.endpoint": cfg.Reva.MetadataStorage.S3NG.Endpoint, - "s3.bucket": cfg.Reva.MetadataStorage.S3NG.Bucket, - }, - } -} diff --git a/extensions/storage/pkg/command/storagedrivers/user.go b/extensions/storage/pkg/command/storagedrivers/user.go deleted file mode 100644 index 83a80c3546..0000000000 --- a/extensions/storage/pkg/command/storagedrivers/user.go +++ /dev/null @@ -1,126 +0,0 @@ -package storagedrivers - -import ( - "github.com/owncloud/ocis/extensions/storage/pkg/config" -) - -func UserDrivers(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": false, - "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, - }, - "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": false, - "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, - "user_layout": cfg.Reva.UserStorage.OCIS.UserLayout, - "share_folder": cfg.Reva.UserStorage.OCIS.ShareFolder, - "personalspacealias_template": cfg.Reva.UserStorage.OCIS.PersonalSpaceAliasTemplate, - "generalspacealias_template": cfg.Reva.UserStorage.OCIS.GeneralSpaceAliasTemplate, - "treetime_accounting": true, - "treesize_accounting": true, - "permissionssvc": cfg.Reva.Permissions.Endpoint, - }, - "s3": map[string]interface{}{ - "enable_home": false, - "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, - "prefix": cfg.Reva.UserStorage.S3.Root, - }, - "s3ng": map[string]interface{}{ - "root": cfg.Reva.UserStorage.S3NG.Root, - "user_layout": cfg.Reva.UserStorage.S3NG.UserLayout, - "share_folder": cfg.Reva.UserStorage.S3NG.ShareFolder, - "personalspacealias_template": cfg.Reva.UserStorage.S3NG.PersonalSpaceAliasTemplate, - "generalspacealias_template": cfg.Reva.UserStorage.S3NG.GeneralSpaceAliasTemplate, - "treetime_accounting": true, - "treesize_accounting": true, - "permissionssvc": cfg.Reva.Permissions.Endpoint, - "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/ocis-pkg/config/config.go b/ocis-pkg/config/config.go index 479d54bbc0..3ab6950977 100644 --- a/ocis-pkg/config/config.go +++ b/ocis-pkg/config/config.go @@ -23,6 +23,7 @@ import ( sharing "github.com/owncloud/ocis/extensions/sharing/pkg/config" storagemetadata "github.com/owncloud/ocis/extensions/storage-metadata/pkg/config" storagepublic "github.com/owncloud/ocis/extensions/storage-publiclink/pkg/config" + storageshares "github.com/owncloud/ocis/extensions/storage-shares/pkg/config" storageusers "github.com/owncloud/ocis/extensions/storage-users/pkg/config" storage "github.com/owncloud/ocis/extensions/storage/pkg/config" store "github.com/owncloud/ocis/extensions/store/pkg/config" @@ -93,6 +94,7 @@ type Config struct { StorageMetadata *storagemetadata.Config `yaml:"storage_metadata"` StoragePublicLink *storagepublic.Config `yaml:"storage_public"` StorageUsers *storageusers.Config `yaml:"storage_users"` + StorageShares *storageshares.Config `yaml:"storage_shares"` Store *store.Config `yaml:"store"` Thumbnails *thumbnails.Config `yaml:"thumbnails"` WebDAV *webdav.Config `yaml:"webdav"` diff --git a/ocis-pkg/config/defaultconfig.go b/ocis-pkg/config/defaultconfig.go index 4ed8a8603d..907264a25b 100644 --- a/ocis-pkg/config/defaultconfig.go +++ b/ocis-pkg/config/defaultconfig.go @@ -21,6 +21,7 @@ import ( sharing "github.com/owncloud/ocis/extensions/sharing/pkg/config/defaults" storagemetadata "github.com/owncloud/ocis/extensions/storage-metadata/pkg/config/defaults" storagepublic "github.com/owncloud/ocis/extensions/storage-publiclink/pkg/config/defaults" + storageshares "github.com/owncloud/ocis/extensions/storage-shares/pkg/config/defaults" storageusers "github.com/owncloud/ocis/extensions/storage-users/pkg/config/defaults" storage "github.com/owncloud/ocis/extensions/storage/pkg/config/defaults" store "github.com/owncloud/ocis/extensions/store/pkg/config/defaults" @@ -65,6 +66,7 @@ func DefaultConfig() *Config { StorageMetadata: storagemetadata.FullDefaultConfig(), StoragePublicLink: storagepublic.FullDefaultConfig(), StorageUsers: storageusers.FullDefaultConfig(), + StorageShares: storageshares.FullDefaultConfig(), AppProvider: appprovider.FullDefaultConfig(), } } diff --git a/ocis/pkg/command/storageshares.go b/ocis/pkg/command/storageshares.go index e906cb20e0..87224510b4 100644 --- a/ocis/pkg/command/storageshares.go +++ b/ocis/pkg/command/storageshares.go @@ -1,7 +1,7 @@ package command import ( - "github.com/owncloud/ocis/extensions/storage/pkg/command" + "github.com/owncloud/ocis/extensions/storage-shares/pkg/command" "github.com/owncloud/ocis/ocis-pkg/config" "github.com/owncloud/ocis/ocis/pkg/register" "github.com/urfave/cli/v2" @@ -13,11 +13,11 @@ func StorageSharesCommand(cfg *config.Config) *cli.Command { Name: "storage-shares", Usage: "start storage and data provider for shares jail", Category: "extensions", - Before: func(ctx *cli.Context) error { - return ParseStorageCommon(ctx, cfg) - }, + // Before: func(ctx *cli.Context) error { + // return ParseStorageCommon(ctx, cfg) + // }, Action: func(c *cli.Context) error { - origCmd := command.StorageShares(cfg.Storage) + origCmd := command.StorageShares(cfg.StorageShares) return handleOriginalAction(c, origCmd) }, } diff --git a/ocis/pkg/runtime/service/service.go b/ocis/pkg/runtime/service/service.go index d861326b3e..d5b7c8e1a5 100644 --- a/ocis/pkg/runtime/service/service.go +++ b/ocis/pkg/runtime/service/service.go @@ -38,6 +38,7 @@ import ( sharing "github.com/owncloud/ocis/extensions/sharing/pkg/command" storagemetadata "github.com/owncloud/ocis/extensions/storage-metadata/pkg/command" storagepublic "github.com/owncloud/ocis/extensions/storage-publiclink/pkg/command" + storageshares "github.com/owncloud/ocis/extensions/storage-shares/pkg/command" storageusers "github.com/owncloud/ocis/extensions/storage-users/pkg/command" storage "github.com/owncloud/ocis/extensions/storage/pkg/command" store "github.com/owncloud/ocis/extensions/store/pkg/command" @@ -125,7 +126,7 @@ func NewService(options ...Option) (*Service, error) { s.ServicesRegistry["storage-authbearer"] = authbearer.NewAuthBearer s.ServicesRegistry["storage-authmachine"] = authmachine.NewAuthMachine s.ServicesRegistry["storage-users"] = storageusers.NewStorageUsers - s.ServicesRegistry["storage-shares"] = storage.NewStorageShares + s.ServicesRegistry["storage-shares"] = storageshares.NewStorageShares s.ServicesRegistry["storage-public-link"] = storagepublic.NewStoragePublicLink s.ServicesRegistry["storage-appprovider"] = appprovider.NewAppProvider s.ServicesRegistry["notifications"] = notifications.NewSutureService