mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-04-21 10:18:21 -05:00
bump reva, change decomposeds3 drivername
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
This commit is contained in:
@@ -74,23 +74,23 @@ LOG_LEVEL=
|
||||
# Per default, S3 storage is disabled and the local filesystem is used.
|
||||
# To enable S3 storage, uncomment the following line and configure the S3 storage.
|
||||
# For more details see:
|
||||
# https://doc.opencloud.eu/opencloud/next/deployment/storage/s3.html
|
||||
# https://doc.opencloud.eu/opencloud/next/deployment/storage/decomposeds3.html
|
||||
# Note: the leading colon is required to enable the service.
|
||||
#S3NG=:s3ng.yml
|
||||
#DECOMPOSEDS3=:decomposeds3.yml
|
||||
# Configure the S3 storage endpoint. Defaults to "http://minio:9000" for testing purposes.
|
||||
S3NG_ENDPOINT=
|
||||
DECOMPOSEDS3_ENDPOINT=
|
||||
# S3 region. Defaults to "default".
|
||||
S3NG_REGION=
|
||||
DECOMPOSEDS3_REGION=
|
||||
# S3 access key. Defaults to "opencloud"
|
||||
S3NG_ACCESS_KEY=
|
||||
DECOMPOSEDS3_ACCESS_KEY=
|
||||
# S3 secret. Defaults to "opencloud-secret-key"
|
||||
S3NG_SECRET_KEY=
|
||||
DECOMPOSEDS3_SECRET_KEY=
|
||||
# S3 bucket. Defaults to "opencloud"
|
||||
S3NG_BUCKET=
|
||||
DECOMPOSEDS3_BUCKET=
|
||||
#
|
||||
# For testing purposes, add local minio S3 storage to the docker-compose file.
|
||||
# The leading colon is required to enable the service.
|
||||
#S3NG_MINIO=:minio.yml
|
||||
#DECOMPOSEDS3_MINIO=:minio.yml
|
||||
# Minio domain. Defaults to "minio.opencloud.test".
|
||||
MINIO_DOMAIN=
|
||||
|
||||
@@ -237,4 +237,4 @@ INBUCKET_DOMAIN=
|
||||
# This MUST be the last line as it assembles the supplemental compose files to be used.
|
||||
# ALL supplemental configs must be added here, whether commented or not.
|
||||
# Each var must either be empty or contain :path/file.yml
|
||||
COMPOSE_FILE=docker-compose.yml${OPENCLOUD:-}${TIKA:-}${S3NG:-}${S3NG_MINIO:-}${COLLABORA:-}${MONITORING:-}${IMPORTER:-}${CLAMAV:-}${ONLYOFFICE:-}${INBUCKET:-}${EXTENSIONS:-}${UNZIP:-}${DRAWIO:-}${JSONVIEWER:-}${PROGRESSBARS:-}${EXTERNALSITES:-}
|
||||
COMPOSE_FILE=docker-compose.yml${OPENCLOUD:-}${TIKA:-}${DECOMPOSEDS3:-}${DECOMPOSEDS3_MINIO:-}${COLLABORA:-}${MONITORING:-}${IMPORTER:-}${CLAMAV:-}${ONLYOFFICE:-}${INBUCKET:-}${EXTENSIONS:-}${UNZIP:-}${DRAWIO:-}${JSONVIEWER:-}${PROGRESSBARS:-}${EXTERNALSITES:-}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
---
|
||||
services:
|
||||
opencloud:
|
||||
environment:
|
||||
# activate decomposed_s3 storage driver
|
||||
STORAGE_USERS_DRIVER: decomposed_s3
|
||||
# keep system data on opencloud storage since this are only small files atm
|
||||
STORAGE_SYSTEM_DRIVER: decomposed
|
||||
# s3ng specific settings
|
||||
STORAGE_USERS_DECOMPOSED_S3_ENDPOINT: ${DECOMPOSED_S3_ENDPOINT:-http://minio:9000}
|
||||
STORAGE_USERS_DECOMPOSED_S3_REGION: ${DECOMPOSED_S3_REGION:-default}
|
||||
STORAGE_USERS_DECOMPOSED_S3_ACCESS_KEY: ${DECOMPOSED_S3_ACCESS_KEY:-opencloud}
|
||||
STORAGE_USERS_DECOMPOSED_S3_SECRET_KEY: ${DECOMPOSED_S3_SECRET_KEY:-opencloud-secret-key}
|
||||
STORAGE_USERS_DECOMPOSED_S3_BUCKET: ${DECOMPOSED_S3_BUCKET:-opencloud-bucket}
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
services:
|
||||
opencloud:
|
||||
environment:
|
||||
# activate decomposeds3 storage driver
|
||||
STORAGE_USERS_DRIVER: decomposeds3
|
||||
# keep system data on opencloud storage since this are only small files atm
|
||||
STORAGE_SYSTEM_DRIVER: decomposed
|
||||
# decomposeds3 specific settings
|
||||
STORAGE_USERS_DECOMPOSEDS3_ENDPOINT: ${DECOMPOSEDS3_ENDPOINT:-http://minio:9000}
|
||||
STORAGE_USERS_DECOMPOSEDS3_REGION: ${DECOMPOSEDS3_REGION:-default}
|
||||
STORAGE_USERS_DECOMPOSEDS3_ACCESS_KEY: ${DECOMPOSEDS3_ACCESS_KEY:-opencloud}
|
||||
STORAGE_USERS_DECOMPOSEDS3_SECRET_KEY: ${DECOMPOSEDS3_SECRET_KEY:-opencloud-secret-key}
|
||||
STORAGE_USERS_DECOMPOSEDS3_BUCKET: ${DECOMPOSEDS3_BUCKET:-opencloud-bucket}
|
||||
@@ -10,13 +10,13 @@ services:
|
||||
command:
|
||||
[
|
||||
"-c",
|
||||
"mkdir -p /data/${S3NG_BUCKET:-opencloud-bucket} && minio server --console-address ':9001' /data",
|
||||
"mkdir -p /data/${DECOMPOSEDS3_BUCKET:-opencloud-bucket} && minio server --console-address ':9001' /data",
|
||||
]
|
||||
volumes:
|
||||
- minio-data:/data
|
||||
environment:
|
||||
MINIO_ACCESS_KEY: ${S3NG_ACCESS_KEY:-opencloud}
|
||||
MINIO_SECRET_KEY: ${S3NG_SECRET_KEY:-opencloud-secret-key}
|
||||
MINIO_ACCESS_KEY: ${DECOMPOSEDS3_ACCESS_KEY:-opencloud}
|
||||
MINIO_SECRET_KEY: ${DECOMPOSEDS3_SECRET_KEY:-opencloud-secret-key}
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.minio.entrypoints=https"
|
||||
|
||||
@@ -65,7 +65,7 @@ require (
|
||||
github.com/onsi/ginkgo/v2 v2.22.2
|
||||
github.com/onsi/gomega v1.36.2
|
||||
github.com/open-policy-agent/opa v1.1.0
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220084142-9db89fb25fdf
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220094822-4ffb9dbabef5
|
||||
github.com/orcaman/concurrent-map v1.0.0
|
||||
github.com/owncloud/libre-graph-api-go v1.0.5-0.20240829135935-80dc00d6f5ea
|
||||
github.com/pkg/errors v0.9.1
|
||||
|
||||
@@ -860,8 +860,8 @@ github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
|
||||
github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
|
||||
github.com/open-policy-agent/opa v1.1.0 h1:HMz2evdEMTyNqtdLjmu3Vyx06BmhNYAx67Yz3Ll9q2s=
|
||||
github.com/open-policy-agent/opa v1.1.0/go.mod h1:T1pASQ1/vwfTa+e2fYcfpLCvWgYtqtiUv+IuA/dLPQs=
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220084142-9db89fb25fdf h1:HaakY/eHk2SeU6q/mPW8yvtBk3TEVHSCSfKoTVg2AQU=
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220084142-9db89fb25fdf/go.mod h1:CxSyCOgUD/IJV2YdUhunkVrsrMDhT/84I9uwhk//XxM=
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220094822-4ffb9dbabef5 h1:NneyFex0hIS+rJzzQkb61wIsKAO/ubwSOJaghYvTCpg=
|
||||
github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220094822-4ffb9dbabef5/go.mod h1:CxSyCOgUD/IJV2YdUhunkVrsrMDhT/84I9uwhk//XxM=
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
|
||||
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
|
||||
|
||||
+2
-2
@@ -55,7 +55,7 @@ A node that doesn't have any (or malformed) metadata.
|
||||
This command provides additional options:
|
||||
|
||||
* `-b` / `--blobstore`\
|
||||
Allows specifying the blobstore to use. Defaults to `decomposed`. Empty blobs will not be checked. Can also be switched to `decomposed_s3`, but needs addtional envvar configuration (see the `storage-users` service for more details).
|
||||
Allows specifying the blobstore to use. Defaults to `decomposed`. Empty blobs will not be checked. Can also be switched to `decomposeds3`, but needs addtional envvar configuration (see the `storage-users` service for more details).
|
||||
* `--fail`\
|
||||
Exits with non-zero exit code if inconsistencies are found. Useful for automation.
|
||||
|
||||
@@ -86,7 +86,7 @@ This command provides additional options:
|
||||
* `--dry-run` (default: `true`)\
|
||||
Do not remove any revisions but print the revisions that would be removed.
|
||||
* `-b` / `--blobstore`\
|
||||
Allows specifying the blobstore to use. Defaults to `decomposed`. Can be switched to `decomposed_s3` but needs addtional envvar configuration (see the `storage-users` service for more details).
|
||||
Allows specifying the blobstore to use. Defaults to `decomposed`. Can be switched to `decomposeds3` but needs addtional envvar configuration (see the `storage-users` service for more details).
|
||||
* `-v` / `--verbose`\
|
||||
Prints additional information about the revisions that are removed.
|
||||
* `--glob-mechanism` (default: `glob`\
|
||||
|
||||
@@ -9,8 +9,8 @@ import (
|
||||
"github.com/opencloud-eu/opencloud/pkg/config"
|
||||
"github.com/opencloud-eu/opencloud/pkg/config/configlog"
|
||||
"github.com/opencloud-eu/opencloud/pkg/config/parser"
|
||||
ocbs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed/blobstore"
|
||||
s3bs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3/blobstore"
|
||||
decomposedbs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed/blobstore"
|
||||
decomposeds3bs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3/blobstore"
|
||||
"github.com/urfave/cli/v2"
|
||||
)
|
||||
|
||||
@@ -47,7 +47,7 @@ func ConsistencyCommand(cfg *config.Config) *cli.Command {
|
||||
&cli.StringFlag{
|
||||
Name: "blobstore",
|
||||
Aliases: []string{"b"},
|
||||
Usage: "the blobstore type. Can be (none, decomposed, decomposed_s3). Default decomposed",
|
||||
Usage: "the blobstore type. Can be (none, decomposed, decomposeds3). Default decomposed",
|
||||
Value: "decomposed",
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
@@ -67,17 +67,17 @@ func ConsistencyCommand(cfg *config.Config) *cli.Command {
|
||||
err error
|
||||
)
|
||||
switch c.String("blobstore") {
|
||||
case "decomposed_s3":
|
||||
bs, err = s3bs.New(
|
||||
case "decomposeds3":
|
||||
bs, err = decomposeds3bs.New(
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Endpoint,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Region,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Bucket,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.AccessKey,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.SecretKey,
|
||||
s3bs.Options{},
|
||||
decomposeds3bs.Options{},
|
||||
)
|
||||
case "decomposed":
|
||||
bs, err = ocbs.New(basePath)
|
||||
bs, err = decomposedbs.New(basePath)
|
||||
case "none":
|
||||
bs = nil
|
||||
default:
|
||||
|
||||
@@ -11,8 +11,8 @@ import (
|
||||
"github.com/opencloud-eu/opencloud/pkg/config"
|
||||
"github.com/opencloud-eu/opencloud/pkg/config/configlog"
|
||||
"github.com/opencloud-eu/opencloud/pkg/config/parser"
|
||||
ocbs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed/blobstore"
|
||||
s3bs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3/blobstore"
|
||||
decomposedbs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed/blobstore"
|
||||
decomposeds3bs "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3/blobstore"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage/fs/posix/lookup"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storagespace"
|
||||
"github.com/urfave/cli/v2"
|
||||
@@ -56,7 +56,7 @@ func PurgeRevisionsCommand(cfg *config.Config) *cli.Command {
|
||||
&cli.StringFlag{
|
||||
Name: "blobstore",
|
||||
Aliases: []string{"b"},
|
||||
Usage: "the blobstore type. Can be (none, decomposed, decomposed_s3). Default decomposed. Note: When using s3ng this needs same configuration as the storage-users service",
|
||||
Usage: "the blobstore type. Can be (none, decomposed, decomposeds3). Default decomposed. Note: When using decomposeds3 this needs same configuration as the storage-users service",
|
||||
Value: "decomposed",
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
@@ -93,17 +93,17 @@ func PurgeRevisionsCommand(cfg *config.Config) *cli.Command {
|
||||
err error
|
||||
)
|
||||
switch c.String("blobstore") {
|
||||
case "decomposed_s3":
|
||||
bs, err = s3bs.New(
|
||||
case "decomposeds3":
|
||||
bs, err = decomposeds3bs.New(
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Endpoint,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Region,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.Bucket,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.AccessKey,
|
||||
cfg.StorageUsers.Drivers.DecomposedS3.SecretKey,
|
||||
s3bs.Options{},
|
||||
decomposeds3bs.Options{},
|
||||
)
|
||||
case "decomposed":
|
||||
bs, err = ocbs.New(basePath)
|
||||
bs, err = decomposedbs.New(basePath)
|
||||
case "none":
|
||||
bs = nil
|
||||
default:
|
||||
|
||||
@@ -164,7 +164,7 @@ func PurgeRevisions(nodes <-chan string, bs DelBlobstore, dryRun, verbose bool)
|
||||
|
||||
if !dryRun {
|
||||
if blobID != "" {
|
||||
// TODO: needs spaceID for s3ng
|
||||
// TODO: needs spaceID for decomposeds3
|
||||
if err := bs.Delete(&node.Node{BlobID: blobID}); err != nil {
|
||||
fmt.Printf("error deleting blob %s: %v\n", blobID, err)
|
||||
continue
|
||||
|
||||
@@ -24,7 +24,7 @@ type Config struct {
|
||||
SkipUserGroupsInToken bool `yaml:"skip_user_groups_in_token" env:"STORAGE_USERS_SKIP_USER_GROUPS_IN_TOKEN" desc:"Disables the loading of user's group memberships from the reva access token." introductionVersion:"pre5.0"`
|
||||
GracefulShutdownTimeout int `yaml:"graceful_shutdown_timeout" env:"STORAGE_USERS_GRACEFUL_SHUTDOWN_TIMEOUT" desc:"The number of seconds to wait for the 'storage-users' service to shutdown cleanly before exiting with an error that gets logged. Note: This setting is only applicable when running the 'storage-users' service as a standalone service. See the text description for more details." introductionVersion:"pre5.0"`
|
||||
|
||||
Driver string `yaml:"driver" env:"STORAGE_USERS_DRIVER" desc:"The storage driver which should be used by the service. Defaults to 'decomposed', Supported values are: 'decomposed', 'decomposed_s3' and 'owncloudsql'. For backwards compatibility reasons it's also possible to use the 'ocis' and 's3ng' driver and configure them using the 'decomposed'/'decomposed_s3' options. The 'decomposed' driver stores all data (blob and meta data) in an POSIX compliant volume. The 'decomposed_s3' driver stores metadata in a POSIX compliant volume and uploads blobs to the s3 bucket." introductionVersion:"pre5.0"`
|
||||
Driver string `yaml:"driver" env:"STORAGE_USERS_DRIVER" desc:"The storage driver which should be used by the service. Defaults to 'decomposed', Supported values are: 'decomposed', 'decomposeds3' and 'owncloudsql'. For backwards compatibility reasons it's also possible to use the 'ocis' and 's3ng' driver and configure them using the 'decomposed'/'decomposeds3' options. The 'decomposed' driver stores all data (blob and meta data) in an POSIX compliant volume. The 'decomposeds3' driver stores metadata in a POSIX compliant volume and uploads blobs to the s3 bucket." introductionVersion:"pre5.0"`
|
||||
Drivers Drivers `yaml:"drivers"`
|
||||
DataServerURL string `yaml:"data_server_url" env:"STORAGE_USERS_DATA_SERVER_URL" desc:"URL of the data server, needs to be reachable by the data gateway provided by the frontend service or the user if directly exposed." introductionVersion:"pre5.0"`
|
||||
DataGatewayURL string `yaml:"data_gateway_url" env:"STORAGE_USERS_DATA_GATEWAY_URL" desc:"URL of the data gateway server" introductionVersion:"pre5.0"`
|
||||
@@ -99,7 +99,7 @@ type CORS struct {
|
||||
// Drivers combine all storage driver configurations
|
||||
type Drivers struct {
|
||||
Decomposed DecomposedDriver `yaml:"decomposed"`
|
||||
DecomposedS3 DecomposedS3Driver `yaml:"decomposed_s3"`
|
||||
DecomposedS3 DecomposedS3Driver `yaml:"decomposeds3"`
|
||||
OwnCloudSQL OwnCloudSQLDriver `yaml:"owncloudsql"`
|
||||
Posix PosixDriver `yaml:"posix"`
|
||||
|
||||
@@ -120,7 +120,7 @@ type DecomposedDriver struct {
|
||||
// Root is the absolute path to the location of the data
|
||||
Root string `yaml:"root" env:"STORAGE_USERS_DECOMPOSED_ROOT" desc:"The directory where the filesystem storage will store blobs and metadata. If not defined, the root directory derives from $OC_BASE_DATA_PATH/storage/users." introductionVersion:"pre5.0"`
|
||||
UserLayout string `yaml:"user_layout" env:"STORAGE_USERS_DECOMPOSED_USER_LAYOUT" desc:"Template string for the user storage layout in the user directory." introductionVersion:"pre5.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_DECOMPOSED_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed' and 'decomposed_s3'." introductionVersion:"pre5.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_DECOMPOSED_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed' and 'decomposeds3'." introductionVersion:"pre5.0"`
|
||||
// PersonalSpaceAliasTemplate contains the template used to construct
|
||||
// the personal space alias, eg: `"{{.SpaceType}}/{{.User.Username | lower}}"`
|
||||
PersonalSpaceAliasTemplate string `yaml:"personalspacealias_template" env:"STORAGE_USERS_DECOMPOSED_PERSONAL_SPACE_ALIAS_TEMPLATE" desc:"Template string to construct personal space aliases." introductionVersion:"pre5.0"`
|
||||
@@ -139,14 +139,14 @@ type DecomposedDriver struct {
|
||||
DisableVersioning bool `yaml:"disable_versioning" env:"OC_DISABLE_VERSIONING" desc:"Disables versioning of files. When set to true, new uploads with the same filename will overwrite existing files instead of creating a new version." introductionVersion:"7.0.0"`
|
||||
}
|
||||
|
||||
// DecomposedS3Driver is the storage driver configuration when using 'decomposed_s3' storage driver
|
||||
// DecomposedS3Driver is the storage driver configuration when using 'decomposeds3' storage driver
|
||||
type DecomposedS3Driver struct {
|
||||
Propagator string `yaml:"propagator" env:"OC_DECOMPOSEDFS_PROPAGATOR;STORAGE_USERS_DECOMPOSEDS3_PROPAGATOR" desc:"The propagator used for decomposedfs. At the moment, only 'sync' is fully supported, 'async' is available as an experimental option." introductionVersion:"pre5.0"`
|
||||
AsyncPropagatorOptions AsyncPropagatorOptions `yaml:"async_propagator_options"`
|
||||
// Root is the absolute path to the location of the data
|
||||
Root string `yaml:"root" env:"STORAGE_USERS_DECOMPOSEDS3_ROOT" desc:"The directory where the filesystem storage will store metadata for blobs. If not defined, the root directory derives from $OC_BASE_DATA_PATH/storage/users." introductionVersion:"pre5.0"`
|
||||
UserLayout string `yaml:"user_layout" env:"STORAGE_USERS_DECOMPOSEDS3_USER_LAYOUT" desc:"Template string for the user storage layout in the user directory." introductionVersion:"pre5.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_DECOMPOSEDS3_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed' and 'decomposed_s3'." introductionVersion:"pre5.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_DECOMPOSEDS3_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed' and 'decomposeds3'." introductionVersion:"pre5.0"`
|
||||
Region string `yaml:"region" env:"STORAGE_USERS_DECOMPOSEDS3_REGION" desc:"Region of the S3 bucket." introductionVersion:"pre5.0"`
|
||||
AccessKey string `yaml:"access_key" env:"STORAGE_USERS_DECOMPOSEDS3_ACCESS_KEY" desc:"Access key for the S3 bucket." introductionVersion:"pre5.0"`
|
||||
SecretKey string `yaml:"secret_key" env:"STORAGE_USERS_DECOMPOSEDS3_SECRET_KEY" desc:"Secret key for the S3 bucket." introductionVersion:"pre5.0"`
|
||||
@@ -197,7 +197,7 @@ type PosixDriver struct {
|
||||
Root string `yaml:"root" env:"STORAGE_USERS_POSIX_ROOT" desc:"The directory where the filesystem storage will store its data. If not defined, the root directory derives from $OC_BASE_DATA_PATH/storage/users." introductionVersion:"6.0.0"`
|
||||
PersonalSpacePathTemplate string `yaml:"personalspacepath_template" env:"STORAGE_USERS_POSIX_PERSONAL_SPACE_PATH_TEMPLATE" desc:"Template string to construct the paths of the personal space roots." introductionVersion:"6.0.0"`
|
||||
GeneralSpacePathTemplate string `yaml:"generalspacepath_template" env:"STORAGE_USERS_POSIX_GENERAL_SPACE_PATH_TEMPLATE" desc:"Template string to construct the paths of the projects space roots." introductionVersion:"6.0.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_POSIX_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed', 'posix' and 'decomposed_s3'." introductionVersion:"6.0.0"`
|
||||
PermissionsEndpoint string `yaml:"permissions_endpoint" env:"STORAGE_USERS_PERMISSION_ENDPOINT;STORAGE_USERS_POSIX_PERMISSIONS_ENDPOINT" desc:"Endpoint of the permissions service. The endpoints can differ for 'decomposed', 'posix' and 'decomposeds3'." introductionVersion:"6.0.0"`
|
||||
AsyncUploads bool `yaml:"async_uploads" env:"OC_ASYNC_UPLOADS" desc:"Enable asynchronous file uploads." introductionVersion:"pre5.0"`
|
||||
ScanDebounceDelay time.Duration `yaml:"scan_debounce_delay" env:"STORAGE_USERS_POSIX_SCAN_DEBOUNCE_DELAY" desc:"The time in milliseconds to wait before scanning the filesystem for changes after a change has been detected." introductionVersion:"6.0.0"`
|
||||
|
||||
|
||||
@@ -269,7 +269,7 @@ func S3(cfg *config.Config) map[string]interface{} {
|
||||
}
|
||||
}
|
||||
|
||||
// DecomposedS3 is the config mapping for the Decomposed-S3 storage driver
|
||||
// DecomposedS3 is the config mapping for the decomposeds3 storage driver
|
||||
func DecomposedS3(cfg *config.Config) map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
"metadata_backend": "messagepack",
|
||||
@@ -334,7 +334,7 @@ func DecomposedS3(cfg *config.Config) map[string]interface{} {
|
||||
}
|
||||
}
|
||||
|
||||
// DecomposedS3NoEvents is the config mapping for the Decomposed-S3 storage driver emitting no events
|
||||
// DecomposedS3NoEvents is the config mapping for the decomposeds3 storage driver emitting no events
|
||||
func DecomposedS3NoEvents(cfg *config.Config) map[string]interface{} {
|
||||
return map[string]interface{}{
|
||||
"metadata_backend": "messagepack",
|
||||
|
||||
@@ -7,19 +7,19 @@ import (
|
||||
// StorageProviderDrivers are the drivers for the storage provider
|
||||
func StorageProviderDrivers(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),
|
||||
"decomposed": DecomposedNoEvents(cfg),
|
||||
"s3": S3(cfg),
|
||||
"decomposed_s3": DecomposedS3NoEvents(cfg),
|
||||
"posix": Posix(cfg, true),
|
||||
"eos": EOS(cfg),
|
||||
"eoshome": EOSHome(cfg),
|
||||
"eosgrpc": EOSGRPC(cfg),
|
||||
"local": Local(cfg),
|
||||
"localhome": LocalHome(cfg),
|
||||
"owncloudsql": OwnCloudSQL(cfg),
|
||||
"decomposed": DecomposedNoEvents(cfg),
|
||||
"s3": S3(cfg),
|
||||
"decomposeds3": DecomposedS3NoEvents(cfg),
|
||||
"posix": Posix(cfg, true),
|
||||
|
||||
"ocis": Decomposed(cfg), // deprecated: use decomposed
|
||||
"s3ng": DecomposedS3NoEvents(cfg), // deprecated: use decomposed_s3
|
||||
"s3ng": DecomposedS3NoEvents(cfg), // deprecated: use decomposeds3
|
||||
|
||||
}
|
||||
}
|
||||
@@ -27,18 +27,18 @@ func StorageProviderDrivers(cfg *config.Config) map[string]interface{} {
|
||||
// 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),
|
||||
"decomposed": Decomposed(cfg),
|
||||
"s3": S3(cfg),
|
||||
"decomposed_s3": DecomposedS3(cfg),
|
||||
"posix": Posix(cfg, false),
|
||||
"eos": EOS(cfg),
|
||||
"eoshome": EOSHome(cfg),
|
||||
"eosgrpc": EOSGRPC(cfg),
|
||||
"local": Local(cfg),
|
||||
"localhome": LocalHome(cfg),
|
||||
"owncloudsql": OwnCloudSQL(cfg),
|
||||
"decomposed": Decomposed(cfg),
|
||||
"s3": S3(cfg),
|
||||
"decomposeds3": DecomposedS3(cfg),
|
||||
"posix": Posix(cfg, false),
|
||||
|
||||
"ocis": Decomposed(cfg), // deprecated: use decomposed
|
||||
"s3ng": DecomposedS3NoEvents(cfg), // deprecated: use decomposed_s3
|
||||
"s3ng": DecomposedS3NoEvents(cfg), // deprecated: use decomposeds3
|
||||
}
|
||||
}
|
||||
|
||||
+9
-9
@@ -19,7 +19,7 @@ Basically we have two sources for feature tests and test suites:
|
||||
|
||||
At the moment, both can be applied to OpenCloud.
|
||||
|
||||
As a storage backend, we support the OpenCloud native storage, also called `decomposed`. This stores files directly on disk. Along with that we also provide `decomposed_s3` storage driver.
|
||||
As a storage backend, we support the OpenCloud native storage, also called `decomposed`. This stores files directly on disk. Along with that we also provide `decomposeds3` storage driver.
|
||||
|
||||
You can invoke two types of test suite runs:
|
||||
|
||||
@@ -30,7 +30,7 @@ You can invoke two types of test suite runs:
|
||||
|
||||
#### Local OpenCloud Tests (prefix `api`)
|
||||
|
||||
The names of the full test suite make targets have the same naming as in the CI pipeline. See the available local OpenCloud specific test suites [here](https://github.com/opencloud-eu/opencloud/tree/main/tests/acceptance/features). They can be run with `decomposed` storage and `decomposed_s3` storage.
|
||||
The names of the full test suite make targets have the same naming as in the CI pipeline. See the available local OpenCloud specific test suites [here](https://github.com/opencloud-eu/opencloud/tree/main/tests/acceptance/features). They can be run with `decomposed` storage and `decomposeds3` storage.
|
||||
|
||||
For example, command:
|
||||
|
||||
@@ -43,10 +43,10 @@ runs the same tests as the `localApiTests-apiGraph-decomposed` CI pipeline, whic
|
||||
And command:
|
||||
|
||||
```bash
|
||||
make -C tests/acceptance/docker localApiTests-apiGraph-decomposed_s3
|
||||
make -C tests/acceptance/docker localApiTests-apiGraph-decomposeds3
|
||||
```
|
||||
|
||||
runs the OpenCloud test suite `apiGraph` against the OpenCloud server with `decomposed_s3` storage.
|
||||
runs the OpenCloud test suite `apiGraph` against the OpenCloud server with `decomposeds3` storage.
|
||||
|
||||
Note:
|
||||
While running the tests, OpenCloud server is started with [ocwrapper](https://github.com/opencloud-eu/opencloud/blob/main/tests/ocwrapper/README.md) (i.e. `WITH_WRAPPER=true`) by default. In order to run the tests without ocwrapper, provide `WITH_WRAPPER=false` when running the tests. For example:
|
||||
@@ -93,7 +93,7 @@ make -C tests/acceptance/docker test-opencloud-feature-decomposed-storage
|
||||
|
||||
Command `make -C tests/acceptance/docker Core-API-Tests-decomposed-storage-3` runs the same tests as the `Core-API-Tests-decomposed-storage-3` CI pipeline, which runs the third (out of ten) test suite groups transferred from core against the OpenCloud server with `decomposed` storage.
|
||||
|
||||
And `make -C tests/acceptance/docker Core-API-Tests-decomposed_s3-storage-3` runs the third (out of ten) test suite groups transferred from core against the OpenCloud server with `decomposed_s3` storage.
|
||||
And `make -C tests/acceptance/docker Core-API-Tests-decomposeds3-storage-3` runs the third (out of ten) test suite groups transferred from core against the OpenCloud server with `decomposeds3` storage.
|
||||
|
||||
### Run Single Feature Test
|
||||
|
||||
@@ -119,16 +119,16 @@ BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26
|
||||
make -C tests/acceptance/docker test-opencloud-feature-decomposed-storage
|
||||
```
|
||||
|
||||
Similarly, with `decomposed_s3` storage;
|
||||
Similarly, with `decomposeds3` storage;
|
||||
|
||||
```bash
|
||||
# run a whole feature
|
||||
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature' \
|
||||
make -C tests/acceptance/docker test-opencloud-feature-decomposed_s3-storage
|
||||
make -C tests/acceptance/docker test-opencloud-feature-decomposeds3-storage
|
||||
|
||||
# run a single scenario
|
||||
BEHAT_FEATURE='tests/acceptance/features/apiGraphUserGroup/createUser.feature:26' \
|
||||
make -C tests/acceptance/docker test-opencloud-feature-decomposed_s3-storage
|
||||
make -C tests/acceptance/docker test-opencloud-feature-decomposeds3-storage
|
||||
```
|
||||
|
||||
In the same way, tests transferred from core can be run as:
|
||||
@@ -222,7 +222,7 @@ A specific scenario from a feature can be run by adding `:<line-number>` at the
|
||||
>
|
||||
> BEHAT_SUITE=apiGraph
|
||||
|
||||
`STORAGE_DRIVER`: to run tests with a different user storage driver. Available options are `decomposed` (default), `owncloudsql` and `decomposed_s3`
|
||||
`STORAGE_DRIVER`: to run tests with a different user storage driver. Available options are `decomposed` (default), `owncloudsql` and `decomposeds3`
|
||||
|
||||
> Example:
|
||||
>
|
||||
|
||||
@@ -32,7 +32,7 @@ abstract class StorageDriver {
|
||||
public const DECOMPOSED = "DECOMPOSED";
|
||||
public const EOS = "EOS";
|
||||
public const OWNCLOUD = "OWNCLOUD";
|
||||
public const DECOMPOSEDS3 = "DECOMPOSED_S3";
|
||||
public const DECOMPOSEDS3 = "DECOMPOSEDS3";
|
||||
public const POSIX = "POSIX";
|
||||
}
|
||||
|
||||
|
||||
@@ -77,14 +77,14 @@ help:
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposed storage:${RESET}\n"
|
||||
@echo -e "\tmake localApiTests-apiAccountsHashDifficulty-decomposed\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposed_s3 storage:${RESET}\n"
|
||||
@echo -e "\tmake localApiTests-apiAccountsHashDifficulty-decomposed_s3\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}"
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposeds3 storage:${RESET}\n"
|
||||
@echo -e "\tmake localApiTests-apiAccountsHashDifficulty-decomposeds3\t\t${BLUE}run apiAccountsHashDifficulty test suite, where available test suite are apiAccountsHashDifficulty apiArchiver apiContract apiGraph apiSpaces apiSpacesShares apiAsyncUpload apiCors${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposed storage:${RESET}\n"
|
||||
@echo -e "\tmake Core-API-Tests-decomposed-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposed_s3 storage:${RESET}\n"
|
||||
@echo -e "\tmake Core-API-Tests-decomposed_s3-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}"
|
||||
@echo -e "${GREEN}Run full OpenCloud test suites with decomposeds3 storage:${RESET}\n"
|
||||
@echo -e "\tmake Core-API-Tests-decomposeds3-storage-${RED}X${RESET}\t\t${BLUE}run test suite number X, where ${RED}X = 1 .. 10${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run an OpenCloud feature test with decomposed storage:${RESET}\n"
|
||||
@echo -e "\tmake test-opencloud-feature-decomposed-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
|
||||
@@ -92,8 +92,8 @@ help:
|
||||
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
|
||||
@echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run an OpenCloud feature test with decomposed_s3 storage:${RESET}\n"
|
||||
@echo -e "\tmake test-opencloud-feature-decomposed_s3-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
|
||||
@echo -e "${GREEN}Run an OpenCloud feature test with decomposeds3 storage:${RESET}\n"
|
||||
@echo -e "\tmake test-opencloud-feature-decomposeds3-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
|
||||
@echo
|
||||
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
|
||||
@echo -e "\texample: ${RED}tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature${RESET}"
|
||||
@@ -107,8 +107,8 @@ help:
|
||||
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
|
||||
@echo -e "\texample: ${RED}tests/acceptance/features/coreApiAuth/webDavAuth.feature${RESET}"
|
||||
@echo
|
||||
@echo -e "${GREEN}Run a core test against OpenCloud with decomposed_s3 storage:${RESET}\n"
|
||||
@echo -e "\tmake test-core-feature-decomposed_s3-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
|
||||
@echo -e "${GREEN}Run a core test against OpenCloud with decomposeds3 storage:${RESET}\n"
|
||||
@echo -e "\tmake test-core-feature-decomposeds3-storage ${YELLOW}BEHAT_FEATURE='...'${RESET}\t${BLUE}run single feature test${RESET}"
|
||||
@echo
|
||||
@echo -e "\twhere ${YELLOW}BEHAT_FEATURE='...'${RESET} contains a relative path to the feature definition."
|
||||
@echo -e "\texample: ${RED}tests/acceptance/features/coreApiAuth/webDavAuth.feature${RESET}"
|
||||
@@ -133,10 +133,10 @@ test-opencloud-feature-decomposed-storage: ## test a OpenCloud feature with deco
|
||||
BEHAT_FEATURE=$(BEHAT_FEATURE) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
.PHONY: test-opencloud-feature-decomposed_s3-storage
|
||||
test-opencloud-feature-decomposed_s3-storage: ## test a OpenCloud feature with decomposed_s3 storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10'
|
||||
.PHONY: test-opencloud-feature-decomposeds3-storage
|
||||
test-opencloud-feature-decomposeds3-storage: ## test a OpenCloud feature with decomposeds3 storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/apiAccountsHashDifficulty/addUser.feature:10'
|
||||
@TEST_SOURCE=opencloud \
|
||||
STORAGE_DRIVER=decomposed_s3 \
|
||||
STORAGE_DRIVER=decomposeds3 \
|
||||
BEHAT_FEATURE=$(BEHAT_FEATURE) \
|
||||
START_CEPH=1 \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
@@ -148,10 +148,10 @@ test-core-feature-decomposed-storage: ## test a core feature with decomposed sto
|
||||
BEHAT_FEATURE=$(BEHAT_FEATURE) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
.PHONY: test-core-feature-decomposed_s3-storage
|
||||
test-core-feature-decomposed_s3-storage: ## test a core feature with decomposed_s3 storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature'
|
||||
.PHONY: test-core-feature-decomposeds3-storage
|
||||
test-core-feature-decomposeds3-storage: ## test a core feature with decomposeds3 storage, usage: make ... BEHAT_FEATURE='tests/acceptance/features/coreApiAuth/webDavAuth.feature'
|
||||
@TEST_SOURCE=core \
|
||||
STORAGE_DRIVER=decomposed_s3 \
|
||||
STORAGE_DRIVER=decomposeds3 \
|
||||
BEHAT_FEATURE=$(BEHAT_FEATURE) \
|
||||
START_CEPH=1 \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
@@ -165,12 +165,12 @@ $(localSuiteOpencloud): ## run local api test suite with decomposed storage
|
||||
BEHAT_SUITE=$(BEHAT_SUITE) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
localSuiteDecomposedS3 = $(addprefix localApiTests-, $(addsuffix -decomposed_s3,${LOCAL_API_SUITES}))
|
||||
localSuiteDecomposedS3 = $(addprefix localApiTests-, $(addsuffix -decomposeds3,${LOCAL_API_SUITES}))
|
||||
.PHONY: $(localSuiteDecomposedS3)
|
||||
$(localSuiteDecomposedS3): ## run local api test suite with s3 storage
|
||||
@$(eval BEHAT_SUITE=$(shell echo "$@" | cut -d'-' -f2))
|
||||
@TEST_SOURCE=opencloud \
|
||||
STORAGE_DRIVER=decomposed_s3 \
|
||||
STORAGE_DRIVER=decomposeds3 \
|
||||
BEHAT_SUITE=$(BEHAT_SUITE) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
@@ -183,12 +183,12 @@ $(targetsOC):
|
||||
RUN_PART=$(RUN_PART) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
targetsDecomposedS3 = $(addprefix Core-API-Tests-decomposed_s3-storage-,$(PARTS))
|
||||
targetsDecomposedS3 = $(addprefix Core-API-Tests-decomposeds3-storage-,$(PARTS))
|
||||
.PHONY: $(targetsDecomposedS3)
|
||||
$(targets):
|
||||
@$(eval RUN_PART=$(shell echo "$@" | tr -dc '0-9'))
|
||||
@TEST_SOURCE=core \
|
||||
STORAGE_DRIVER=decomposed_s3 \
|
||||
STORAGE_DRIVER=decomposeds3 \
|
||||
RUN_PART=$(RUN_PART) \
|
||||
$(MAKE) --no-print-directory testSuite
|
||||
|
||||
|
||||
@@ -26,12 +26,12 @@ services:
|
||||
PROXY_HTTP_ADDR: "0.0.0.0:9200"
|
||||
OC_JWT_SECRET: "some-random-jwt-secret"
|
||||
|
||||
# s3ng specific settings
|
||||
STORAGE_USERS_S3NG_ENDPOINT: http://ceph:8080
|
||||
STORAGE_USERS_S3NG_REGION: default
|
||||
STORAGE_USERS_S3NG_ACCESS_KEY: test
|
||||
STORAGE_USERS_S3NG_SECRET_KEY: test
|
||||
STORAGE_USERS_S3NG_BUCKET: test
|
||||
# decomposeds3 specific settings
|
||||
STORAGE_USERS_DECOMPOSEDS3_ENDPOINT: http://ceph:8080
|
||||
STORAGE_USERS_DECOMPOSEDS3_REGION: default
|
||||
STORAGE_USERS_DECOMPOSEDS3_ACCESS_KEY: test
|
||||
STORAGE_USERS_DECOMPOSEDS3_SECRET_KEY: test
|
||||
STORAGE_USERS_DECOMPOSEDS3_BUCKET: test
|
||||
# email
|
||||
NOTIFICATIONS_SMTP_HOST: email
|
||||
NOTIFICATIONS_SMTP_PORT: 2500
|
||||
|
||||
@@ -13,8 +13,8 @@ if [ "$TEST_SOURCE" = "core" ]; then
|
||||
export OC_REVA_DATA_ROOT=''
|
||||
export BEHAT_FILTER_TAGS='~@skipOnOpencloud-decomposed-Storage'
|
||||
export EXPECTED_FAILURES_FILE='/drone/src/tests/acceptance/expected-failures-API-on-decomposed-storage.md'
|
||||
elif [ "$STORAGE_DRIVER" = "decomposed_s3" ]; then
|
||||
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-decomposed_s3-Storage'
|
||||
elif [ "$STORAGE_DRIVER" = "decomposeds3" ]; then
|
||||
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-decomposeds3-Storage'
|
||||
export OC_REVA_DATA_ROOT=''
|
||||
else
|
||||
echo "non existing STORAGE selected"
|
||||
@@ -27,8 +27,8 @@ elif [ "$TEST_SOURCE" = "opencloud" ]; then
|
||||
if [ "$STORAGE_DRIVER" = "decomposed" ]; then
|
||||
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-decomposed-Storage'
|
||||
export OC_REVA_DATA_ROOT=''
|
||||
elif [ "$STORAGE_DRIVER" = "decomposed_s3" ]; then
|
||||
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-decomposed_s3-Storage'
|
||||
elif [ "$STORAGE_DRIVER" = "decomposeds3" ]; then
|
||||
export BEHAT_FILTER_TAGS='~@skip&&~@skipOnOpencloud-decomposeds3-Storage'
|
||||
export OC_REVA_DATA_ROOT=''
|
||||
else
|
||||
echo "non existing storage selected"
|
||||
|
||||
Generated
Vendored
+3
-3
@@ -16,21 +16,21 @@
|
||||
// granted to it by virtue of its status as an Intergovernmental Organization
|
||||
// or submit itself to any jurisdiction.
|
||||
|
||||
package decomposed_s3
|
||||
package decomposeds3
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/opencloud-eu/reva/v2/pkg/events"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3/blobstore"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3/blobstore"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage/fs/registry"
|
||||
"github.com/opencloud-eu/reva/v2/pkg/storage/pkg/decomposedfs"
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
func init() {
|
||||
registry.Register("decomposed_s3", New)
|
||||
registry.Register("decomposeds3", New)
|
||||
}
|
||||
|
||||
// New returns an implementation to of the storage.FS interface that talk to
|
||||
Generated
Vendored
+1
-1
@@ -16,7 +16,7 @@
|
||||
// granted to it by virtue of its status as an Intergovernmental Organization
|
||||
// or submit itself to any jurisdiction.
|
||||
|
||||
package decomposed_s3
|
||||
package decomposeds3
|
||||
|
||||
import (
|
||||
"github.com/mitchellh/mapstructure"
|
||||
+1
-1
@@ -23,7 +23,7 @@ import (
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/ocm/storage/received"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/cephfs"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/eos"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/eosgrpc"
|
||||
_ "github.com/opencloud-eu/reva/v2/pkg/storage/fs/eosgrpchome"
|
||||
|
||||
+1
-1
@@ -807,7 +807,7 @@ func (fs *Decomposedfs) DeleteStorageSpace(ctx context.Context, req *provider.De
|
||||
}
|
||||
|
||||
// the value of `target` depends on the implementation:
|
||||
// - for decomposedfs/s3ng it is the relative link to the space root
|
||||
// - for decomposedfs/decomposeds3 it is the relative link to the space root
|
||||
// - for the posixfs it is the node id
|
||||
func (fs *Decomposedfs) updateIndexes(ctx context.Context, grantee *provider.Grantee, spaceType, spaceID, nodeID string) error {
|
||||
target := fs.tp.BuildSpaceIDIndexEntry(spaceID, nodeID)
|
||||
|
||||
Generated
Vendored
+1
-1
@@ -195,7 +195,7 @@ func (tp *Tree) DownloadRevision(ctx context.Context, ref *provider.Reference, r
|
||||
BaseNode: node.BaseNode{SpaceID: spaceID},
|
||||
BlobID: blobid,
|
||||
Blobsize: blobsize,
|
||||
} // blobsize is needed for the s3ng blobstore
|
||||
} // blobsize is needed for the decomposeds3 blobstore
|
||||
|
||||
ri, err := n.AsResourceInfo(ctx, rp, nil, []string{"size", "mimetype", "etag"}, true)
|
||||
if err != nil {
|
||||
|
||||
Vendored
+3
-3
@@ -1189,7 +1189,7 @@ github.com/open-policy-agent/opa/v1/types
|
||||
github.com/open-policy-agent/opa/v1/util
|
||||
github.com/open-policy-agent/opa/v1/util/decoding
|
||||
github.com/open-policy-agent/opa/v1/version
|
||||
# github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220084142-9db89fb25fdf
|
||||
# github.com/opencloud-eu/reva/v2 v2.27.3-0.20250220094822-4ffb9dbabef5
|
||||
## explicit; go 1.23.1
|
||||
github.com/opencloud-eu/reva/v2/cmd/revad/internal/grace
|
||||
github.com/opencloud-eu/reva/v2/cmd/revad/runtime
|
||||
@@ -1475,8 +1475,8 @@ github.com/opencloud-eu/reva/v2/pkg/storage/favorite/registry
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/cephfs
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed/blobstore
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposed_s3/blobstore
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/decomposeds3/blobstore
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/eos
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/eosgrpc
|
||||
github.com/opencloud-eu/reva/v2/pkg/storage/fs/eosgrpchome
|
||||
|
||||
Reference in New Issue
Block a user