From 319a27a2987c990b4c25fc0c97a2cf32e38b89f3 Mon Sep 17 00:00:00 2001 From: Ilja Neumann Date: Tue, 29 Sep 2020 11:59:43 +0200 Subject: [PATCH] Override storage-driver roots with storage-metadata root flag --- ocis-reva/pkg/command/storagemetadata.go | 12 +++++++++++- ocis-reva/pkg/flagset/storagemetadata.go | 14 +++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/ocis-reva/pkg/command/storagemetadata.go b/ocis-reva/pkg/command/storagemetadata.go index 95a172cc91..00fa13de6b 100644 --- a/ocis-reva/pkg/command/storagemetadata.go +++ b/ocis-reva/pkg/command/storagemetadata.go @@ -25,9 +25,19 @@ func StorageMetadata(cfg *config.Config) *cli.Command { Usage: "Start reva storage-metadata service", Flags: flagset.StorageMetadata(cfg), Category: "Extensions", + Before: func(c *cli.Context) error { + storageRoot := c.String("storage-root") + + cfg.Reva.Storages.OwnCloud.Root = storageRoot + cfg.Reva.Storages.EOS.Root = storageRoot + cfg.Reva.Storages.Local.Root = storageRoot + cfg.Reva.Storages.S3.Root = storageRoot + cfg.Reva.Storages.Home.Root = storageRoot + + return nil + }, Action: func(c *cli.Context) error { logger := NewLogger(cfg) - if cfg.Tracing.Enabled { switch t := cfg.Tracing.Type; t { case "agent": diff --git a/ocis-reva/pkg/flagset/storagemetadata.go b/ocis-reva/pkg/flagset/storagemetadata.go index 365960d89b..ea6b202c12 100644 --- a/ocis-reva/pkg/flagset/storagemetadata.go +++ b/ocis-reva/pkg/flagset/storagemetadata.go @@ -3,7 +3,6 @@ package flagset import ( "github.com/micro/cli/v2" "github.com/owncloud/ocis/ocis-reva/pkg/config" - "path" ) // StorageMetadata applies cfg to the root flagset @@ -58,6 +57,13 @@ func StorageMetadata(cfg *config.Config) []cli.Flag { EnvVars: []string{"REVA_STORAGE_METADATA_DATA_PROVIDER_DRIVER"}, Destination: &cfg.Reva.StorageMetadataData.Driver, }, + &cli.StringFlag{ + Name: "storage-root", + Value: "/var/tmp/ocis/metadata", + Usage: "the path to the metadata storage root", + EnvVars: []string{"REVA_STORAGE_METADATA_ROOT"}, + Destination: &cfg.Reva.Storages.Common.Root, + }, } flags = append(flags, TracingWithConfig(cfg)...) @@ -68,12 +74,6 @@ func StorageMetadata(cfg *config.Config) []cli.Flag { flags = append(flags, DriverOwnCloudWithConfig(cfg)...) flags = append(flags, DriverOCISWithConfig(cfg)...) - // Metadata storage needs its own root - cfg.Reva.Storages.Common.Root = path.Join(cfg.Reva.Storages.Common.Root, "metadata") - cfg.Reva.Storages.OwnCloud.Root = path.Join(cfg.Reva.Storages.OwnCloud.Root, "metadata") - cfg.Reva.Storages.EOS.Root = path.Join(cfg.Reva.Storages.EOS.Root, "metadata") - cfg.Reva.Storages.Local.Root = path.Join(cfg.Reva.Storages.Local.Root, "metadata") - return flags }