mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-03-12 00:41:52 -05:00
Merge pull request #2061 from aduffeck/owncloudsql-integration
Integrate the owncloudsql storage driver
This commit is contained in:
@@ -85,6 +85,19 @@ func drivers(cfg *config.Config) map[string]interface{} {
|
||||
"scan": cfg.Reva.Storages.OwnCloud.Scan,
|
||||
"userprovidersvc": cfg.Reva.Users.Endpoint,
|
||||
},
|
||||
"owncloudsql": map[string]interface{}{
|
||||
"datadirectory": cfg.Reva.Storages.OwnCloudSQL.Root,
|
||||
"upload_info_dir": cfg.Reva.Storages.OwnCloudSQL.UploadInfoDir,
|
||||
"sharedirectory": cfg.Reva.Storages.OwnCloudSQL.ShareFolder,
|
||||
"user_layout": cfg.Reva.Storages.OwnCloudSQL.UserLayout,
|
||||
"enable_home": cfg.Reva.Storages.OwnCloudSQL.EnableHome,
|
||||
"dbusername": cfg.Reva.Storages.OwnCloudSQL.DBUsername,
|
||||
"dbpassword": cfg.Reva.Storages.OwnCloudSQL.DBPassword,
|
||||
"dbhost": cfg.Reva.Storages.OwnCloudSQL.DBHost,
|
||||
"dbport": cfg.Reva.Storages.OwnCloudSQL.DBPort,
|
||||
"dbname": cfg.Reva.Storages.OwnCloudSQL.DBName,
|
||||
"userprovidersvc": cfg.Reva.Users.Endpoint,
|
||||
},
|
||||
"ocis": map[string]interface{}{
|
||||
"root": cfg.Reva.Storages.Common.Root,
|
||||
"enable_home": cfg.Reva.Storages.Common.EnableHome,
|
||||
|
||||
@@ -49,6 +49,7 @@ func StorageHome(cfg *config.Config) *cli.Command {
|
||||
cfg.Reva.Storages.EOS.EnableHome = true
|
||||
cfg.Reva.Storages.Local.EnableHome = true
|
||||
cfg.Reva.Storages.OwnCloud.EnableHome = true
|
||||
cfg.Reva.Storages.OwnCloudSQL.EnableHome = true
|
||||
cfg.Reva.Storages.S3.EnableHome = true
|
||||
cfg.Reva.Storages.S3NG.EnableHome = true
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@ func StorageUsers(cfg *config.Config) *cli.Command {
|
||||
cfg.Reva.Storages.EOS.EnableHome = true
|
||||
cfg.Reva.Storages.Local.EnableHome = true
|
||||
cfg.Reva.Storages.OwnCloud.EnableHome = true
|
||||
cfg.Reva.Storages.OwnCloudSQL.EnableHome = true
|
||||
cfg.Reva.Storages.S3.EnableHome = true
|
||||
cfg.Reva.Storages.S3NG.EnableHome = true
|
||||
}
|
||||
|
||||
@@ -159,14 +159,15 @@ type PublicStorage struct {
|
||||
|
||||
// StorageConfig combines all available storage driver configuration parts.
|
||||
type StorageConfig struct {
|
||||
Home DriverCommon
|
||||
EOS DriverEOS
|
||||
Local DriverCommon
|
||||
OwnCloud DriverOwnCloud
|
||||
S3 DriverS3
|
||||
S3NG DriverS3NG
|
||||
Common DriverCommon
|
||||
OCIS DriverOCIS
|
||||
Home DriverCommon
|
||||
EOS DriverEOS
|
||||
Local DriverCommon
|
||||
OwnCloud DriverOwnCloud
|
||||
OwnCloudSQL DriverOwnCloudSQL
|
||||
S3 DriverS3
|
||||
S3NG DriverS3NG
|
||||
Common DriverCommon
|
||||
OCIS DriverOCIS
|
||||
// TODO checksums ... figure out what that is supposed to do
|
||||
}
|
||||
|
||||
@@ -258,6 +259,18 @@ type DriverOwnCloud struct {
|
||||
Scan bool
|
||||
}
|
||||
|
||||
// DriverOwnCloudSQL defines the available ownCloudSQL storage driver configuration.
|
||||
type DriverOwnCloudSQL struct {
|
||||
DriverCommon
|
||||
|
||||
UploadInfoDir string
|
||||
DBUsername string
|
||||
DBPassword string
|
||||
DBHost string
|
||||
DBPort int
|
||||
DBName string
|
||||
}
|
||||
|
||||
// DriverS3 defines the available S3 storage driver configuration.
|
||||
type DriverS3 struct {
|
||||
DriverCommon
|
||||
|
||||
83
storage/pkg/flagset/driverowncloudsql.go
Normal file
83
storage/pkg/flagset/driverowncloudsql.go
Normal file
@@ -0,0 +1,83 @@
|
||||
package flagset
|
||||
|
||||
import (
|
||||
"github.com/micro/cli/v2"
|
||||
"github.com/owncloud/ocis/ocis-pkg/flags"
|
||||
"github.com/owncloud/ocis/storage/pkg/config"
|
||||
)
|
||||
|
||||
// DriverOwnCloudSQLWithConfig applies cfg to the root flagset
|
||||
func DriverOwnCloudSQLWithConfig(cfg *config.Config) []cli.Flag {
|
||||
return []cli.Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-datadir",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.Root, "/var/tmp/ocis/storage/owncloud"),
|
||||
Usage: "the path to the owncloudsql data directory",
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DATADIR"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.Root,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-uploadinfo-dir",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.UploadInfoDir, "/var/tmp/ocis/storage/uploadinfo"),
|
||||
Usage: "the path to the tus upload info directory",
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_UPLOADINFO_DIR"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.UploadInfoDir,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-share-folder",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.ShareFolder, "/Shares"),
|
||||
Usage: "name of the shares folder",
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_SHARE_FOLDER"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.ShareFolder,
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "storage-owncloudsql-enable-home",
|
||||
Value: flags.OverrideDefaultBool(cfg.Reva.Storages.OwnCloudSQL.EnableHome, false),
|
||||
Usage: "enable the creation of home storages",
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_ENABLE_HOME"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.EnableHome,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-layout",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.UserLayout, "{{.Username}}"),
|
||||
Usage: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.Mail}}, {{.Id.OpaqueId}}, {{.Id.Idp}} also supports prefixing dirs: "{{substr 0 1 .Username}}/{{.Username}}" will turn "Einstein" into "Ei/Einstein" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_LAYOUT"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.UserLayout,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-dbusername",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.DBUsername, "owncloud"),
|
||||
Usage: `"username for accessing the database" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DBUSERNAME"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.DBUsername,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-dbpassword",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.DBPassword, "owncloud"),
|
||||
Usage: `"password for accessing the database" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DBPASSWORD"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.DBPassword,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-dbhost",
|
||||
Value: cfg.Reva.Storages.OwnCloudSQL.DBHost,
|
||||
Usage: `"the database hostname or IP address" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DBHOST"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.DBHost,
|
||||
},
|
||||
&cli.IntFlag{
|
||||
Name: "storage-owncloudsql-dbport",
|
||||
Value: flags.OverrideDefaultInt(cfg.Reva.Storages.OwnCloudSQL.DBPort, 3306),
|
||||
Usage: `"port the database listens on" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DBPORT"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.DBPort,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "storage-owncloudsql-dbname",
|
||||
Value: flags.OverrideDefaultString(cfg.Reva.Storages.OwnCloudSQL.DBName, "owncloud"),
|
||||
Usage: `"the database name" `,
|
||||
EnvVars: []string{"STORAGE_DRIVER_OWNCLOUDSQL_DBNAME"},
|
||||
Destination: &cfg.Reva.Storages.OwnCloudSQL.DBName,
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -155,6 +155,7 @@ func StorageHomeWithConfig(cfg *config.Config) []cli.Flag {
|
||||
flags = append(flags, DriverEOSWithConfig(cfg)...)
|
||||
flags = append(flags, DriverLocalWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOwnCloudWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOwnCloudSQLWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOCISWithConfig(cfg)...)
|
||||
flags = append(flags, DriverS3NGWithConfig(cfg)...)
|
||||
|
||||
|
||||
@@ -145,6 +145,7 @@ func StorageUsersWithConfig(cfg *config.Config) []cli.Flag {
|
||||
flags = append(flags, DriverEOSWithConfig(cfg)...)
|
||||
flags = append(flags, DriverLocalWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOwnCloudWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOwnCloudSQLWithConfig(cfg)...)
|
||||
flags = append(flags, DriverOCISWithConfig(cfg)...)
|
||||
flags = append(flags, DriverS3NGWithConfig(cfg)...)
|
||||
|
||||
|
||||
@@ -110,6 +110,10 @@ Example: Set the home and users Storage Provider to `ocis`
|
||||
|
||||
{{ template "option" (list .Options "DriverOwnCloudWithConfig") -}}
|
||||
|
||||
### ownCloudSQL Driver
|
||||
|
||||
{{ template "option" (list .Options "DriverOwnCloudSQLWithConfig") -}}
|
||||
|
||||
### Ocis Driver
|
||||
|
||||
{{ template "option" (list .Options "DriverOCISWithConfig") -}}
|
||||
|
||||
Reference in New Issue
Block a user