add space alias config to s3ng and ocis driver
This commit is contained in:
@@ -89,12 +89,14 @@ func UserDrivers(cfg *config.Config) map[string]interface{} {
|
||||
"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,
|
||||
"treetime_accounting": true,
|
||||
"treesize_accounting": true,
|
||||
"permissionssvc": cfg.Reva.Permissions.Endpoint,
|
||||
"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,
|
||||
@@ -106,17 +108,19 @@ func UserDrivers(cfg *config.Config) map[string]interface{} {
|
||||
"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,
|
||||
"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,
|
||||
"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,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,6 +241,12 @@ type DriverCommon struct {
|
||||
UserLayout string `ocisConfig:"user_layout"`
|
||||
// EnableHome enables the creation of home directories.
|
||||
EnableHome bool `ocisConfig:"enable_home"`
|
||||
// PersonalSpaceAliasTemplate contains the template used to construct
|
||||
// the personal space alias, eg: `"{{.SpaceType}}/{{.User.Username | lower}}"`
|
||||
PersonalSpaceAliasTemplate string `ocisConfig:"personalspacealias_template"`
|
||||
// GeneralSpaceAliasTemplate contains the template used to construct
|
||||
// the general space alias, eg: `{{.SpaceType}}/{{.SpaceName | replace " " "-" | lower}}`
|
||||
GeneralSpaceAliasTemplate string `ocisConfig:"generalspacealias_template"`
|
||||
}
|
||||
|
||||
// DriverEOS defines the available EOS driver configuration.
|
||||
@@ -1528,6 +1534,14 @@ func structMappings(cfg *Config) []shared.EnvBinding {
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_OCIS_SHARE_FOLDER"},
|
||||
Destination: &cfg.Reva.UserStorage.OCIS.ShareFolder,
|
||||
},
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_OCIS_PERSONAL_SPACE_ALIAS_TEMPLATE"},
|
||||
Destination: &cfg.Reva.UserStorage.OCIS.PersonalSpaceAliasTemplate,
|
||||
},
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_OCIS_GENERAL_SPACE_ALIAS_TEMPLATE"},
|
||||
Destination: &cfg.Reva.UserStorage.OCIS.GeneralSpaceAliasTemplate,
|
||||
},
|
||||
// driver owncloud sql
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_OWNCLOUDSQL_DATADIR"},
|
||||
@@ -1601,6 +1615,14 @@ func structMappings(cfg *Config) []shared.EnvBinding {
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_S3NG_SHARE_FOLDER"},
|
||||
Destination: &cfg.Reva.UserStorage.S3NG.ShareFolder,
|
||||
},
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_S3NG_PERSONAL_SPACE_ALIAS_TEMPLATE"},
|
||||
Destination: &cfg.Reva.UserStorage.S3NG.PersonalSpaceAliasTemplate,
|
||||
},
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_S3NG_GENERAL_SPACE_ALIAS_TEMPLATE"},
|
||||
Destination: &cfg.Reva.UserStorage.S3NG.GeneralSpaceAliasTemplate,
|
||||
},
|
||||
{
|
||||
EnvVars: []string{"STORAGE_USERS_DRIVER_S3NG_REGION"},
|
||||
Destination: &cfg.Reva.UserStorage.S3NG.Region,
|
||||
|
||||
@@ -9,11 +9,13 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
defaultPublicURL = "https://localhost:9200"
|
||||
defaultShareFolder = "/Shares"
|
||||
defaultStorageNamespace = "/users/{{.Id.OpaqueId}}"
|
||||
defaultGatewayAddr = "127.0.0.1:9142"
|
||||
defaultUserLayout = "{{.Id.OpaqueId}}"
|
||||
defaultPublicURL = "https://localhost:9200"
|
||||
defaultShareFolder = "/Shares"
|
||||
defaultStorageNamespace = "/users/{{.Id.OpaqueId}}"
|
||||
defaultGatewayAddr = "127.0.0.1:9142"
|
||||
defaultUserLayout = "{{.Id.OpaqueId}}"
|
||||
defaultPersonalSpaceAliasTemplate = "{{.SpaceType}}/{{.User.Username | lower}}"
|
||||
defaultGeneralSpaceAliasTemplate = "{{.SpaceType}}/{{.SpaceName | replace \" \" \"-\" | lower}}"
|
||||
)
|
||||
|
||||
func FullDefaultConfig() *config.Config {
|
||||
@@ -145,10 +147,12 @@ func DefaultConfig() *config.Config {
|
||||
},
|
||||
S3NG: config.DriverS3NG{
|
||||
DriverCommon: config.DriverCommon{
|
||||
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
||||
ShareFolder: defaultShareFolder,
|
||||
UserLayout: defaultUserLayout,
|
||||
EnableHome: false,
|
||||
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
||||
ShareFolder: defaultShareFolder,
|
||||
UserLayout: defaultUserLayout,
|
||||
PersonalSpaceAliasTemplate: defaultPersonalSpaceAliasTemplate,
|
||||
GeneralSpaceAliasTemplate: defaultGeneralSpaceAliasTemplate,
|
||||
EnableHome: false,
|
||||
},
|
||||
Region: "default",
|
||||
AccessKey: "",
|
||||
@@ -158,9 +162,11 @@ func DefaultConfig() *config.Config {
|
||||
},
|
||||
OCIS: config.DriverOCIS{
|
||||
DriverCommon: config.DriverCommon{
|
||||
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
||||
ShareFolder: defaultShareFolder,
|
||||
UserLayout: defaultUserLayout,
|
||||
Root: path.Join(defaults.BaseDataPath(), "storage", "users"),
|
||||
ShareFolder: defaultShareFolder,
|
||||
UserLayout: defaultUserLayout,
|
||||
PersonalSpaceAliasTemplate: defaultPersonalSpaceAliasTemplate,
|
||||
GeneralSpaceAliasTemplate: defaultGeneralSpaceAliasTemplate,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user