From 1cd35ce609952dd8ebc671b7344b562fcc12b452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Tue, 1 Sep 2020 15:34:21 +0200 Subject: [PATCH] add ocis driver, arbitrary storage driver rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jörn Friedrich Dreyer --- docs/configuration.md | 3 --- pkg/command/drivers.go | 41 +++++++++++++++++------------- pkg/command/gateway.go | 40 +++++++++++++---------------- pkg/config/config.go | 46 +++++++++++++++++++--------------- pkg/flagset/drivereos.go | 8 +++--- pkg/flagset/driverocis.go | 33 ++++++++++++++++++++++++ pkg/flagset/driverowncloud.go | 6 ++--- pkg/flagset/gateway.go | 31 +++++++++++------------ pkg/flagset/storageeos.go | 1 + pkg/flagset/storageeosdata.go | 1 + pkg/flagset/storagehome.go | 1 + pkg/flagset/storagehomedata.go | 1 + pkg/flagset/storageoc.go | 1 + pkg/flagset/storageocdata.go | 1 + pkg/flagset/storageroot.go | 1 + 15 files changed, 128 insertions(+), 87 deletions(-) create mode 100644 pkg/flagset/driverocis.go diff --git a/docs/configuration.md b/docs/configuration.md index f2523ec63f..636ab4c0a4 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -885,9 +885,6 @@ Usage: `ocis-reva gateway [command options] [arguments...]` --share-folder | $REVA_GATEWAY_SHARE_FOLDER : mount shares in this folder of the home storage provider. Default: `Shares`. ---link_grants_file | $REVA_GATEWAY_LINK_GRANTS_FILE -: when using a json manager, file to use as json serialized database. Default: `/var/tmp/reva/link_grants.json`. - --disable-home-creation-on-login | $REVA_GATEWAY_DISABLE_HOME_CREATION_ON_LOGIN : Disable creation of home folder on login. diff --git a/pkg/command/drivers.go b/pkg/command/drivers.go index 7140409b31..3e1a41abeb 100644 --- a/pkg/command/drivers.go +++ b/pkg/command/drivers.go @@ -7,10 +7,10 @@ import ( func drivers(cfg *config.Config) map[string]interface{} { return map[string]interface{}{ "eos": map[string]interface{}{ - "namespace": cfg.Reva.Storages.Common.Root, + "namespace": cfg.Reva.Storages.EOS.Root, "shadow_namespace": cfg.Reva.Storages.EOS.ShadowNamespace, "uploads_namespace": cfg.Reva.Storages.EOS.UploadsNamespace, - "share_folder": cfg.Reva.Storages.Common.ShareFolder, + "share_folder": cfg.Reva.Storages.EOS.ShareFolder, "eos_binary": cfg.Reva.Storages.EOS.EosBinary, "xrdcopy_binary": cfg.Reva.Storages.EOS.XrdcopyBinary, "master_url": cfg.Reva.Storages.EOS.MasterURL, @@ -26,10 +26,10 @@ func drivers(cfg *config.Config) map[string]interface{} { "gatewaysvc": cfg.Reva.Storages.EOS.GatewaySVC, }, "eoshome": map[string]interface{}{ - "namespace": cfg.Reva.Storages.Common.Root, + "namespace": cfg.Reva.Storages.EOS.Root, "shadow_namespace": cfg.Reva.Storages.EOS.ShadowNamespace, "uploads_namespace": cfg.Reva.Storages.EOS.UploadsNamespace, - "share_folder": cfg.Reva.Storages.Common.ShareFolder, + "share_folder": cfg.Reva.Storages.EOS.ShareFolder, "eos_binary": cfg.Reva.Storages.EOS.EosBinary, "xrdcopy_binary": cfg.Reva.Storages.EOS.XrdcopyBinary, "master_url": cfg.Reva.Storages.EOS.MasterURL, @@ -38,7 +38,7 @@ func drivers(cfg *config.Config) map[string]interface{} { "sec_protocol": cfg.Reva.Storages.EOS.SecProtocol, "keytab": cfg.Reva.Storages.EOS.Keytab, "single_username": cfg.Reva.Storages.EOS.SingleUsername, - "user_layout": cfg.Reva.Storages.Common.UserLayout, + "user_layout": cfg.Reva.Storages.EOS.UserLayout, "enable_logging": cfg.Reva.Storages.EOS.EnableLogging, "show_hidden_sys_files": cfg.Reva.Storages.EOS.ShowHiddenSysFiles, "force_single_user_mode": cfg.Reva.Storages.EOS.ForceSingleUserMode, @@ -46,9 +46,9 @@ func drivers(cfg *config.Config) map[string]interface{} { "gatewaysvc": cfg.Reva.Storages.EOS.GatewaySVC, }, "eosgrpc": map[string]interface{}{ - "namespace": cfg.Reva.Storages.Common.Root, + "namespace": cfg.Reva.Storages.EOS.Root, "shadow_namespace": cfg.Reva.Storages.EOS.ShadowNamespace, - "share_folder": cfg.Reva.Storages.Common.ShareFolder, + "share_folder": cfg.Reva.Storages.EOS.ShareFolder, "eos_binary": cfg.Reva.Storages.EOS.EosBinary, "xrdcopy_binary": cfg.Reva.Storages.EOS.XrdcopyBinary, "master_url": cfg.Reva.Storages.EOS.MasterURL, @@ -58,38 +58,43 @@ func drivers(cfg *config.Config) map[string]interface{} { "sec_protocol": cfg.Reva.Storages.EOS.SecProtocol, "keytab": cfg.Reva.Storages.EOS.Keytab, "single_username": cfg.Reva.Storages.EOS.SingleUsername, - "user_layout": cfg.Reva.Storages.Common.UserLayout, + "user_layout": cfg.Reva.Storages.EOS.UserLayout, "enable_logging": cfg.Reva.Storages.EOS.EnableLogging, "show_hidden_sys_files": cfg.Reva.Storages.EOS.ShowHiddenSysFiles, "force_single_user_mode": cfg.Reva.Storages.EOS.ForceSingleUserMode, "use_keytab": cfg.Reva.Storages.EOS.UseKeytab, - "enable_home": cfg.Reva.Storages.Common.EnableHome, + "enable_home": cfg.Reva.Storages.EOS.EnableHome, "gatewaysvc": cfg.Reva.Storages.EOS.GatewaySVC, }, "local": map[string]interface{}{ - "root": cfg.Reva.Storages.Common.Root, - "share_folder": cfg.Reva.Storages.Common.ShareFolder, + "root": cfg.Reva.Storages.Local.Root, + "share_folder": cfg.Reva.Storages.Local.ShareFolder, }, "localhome": map[string]interface{}{ - "root": cfg.Reva.Storages.Common.Root, - "share_folder": cfg.Reva.Storages.Common.ShareFolder, - "user_layout": cfg.Reva.Storages.Common.UserLayout, + "root": cfg.Reva.Storages.Local.Root, + "share_folder": cfg.Reva.Storages.Local.ShareFolder, + "user_layout": cfg.Reva.Storages.Local.UserLayout, }, "owncloud": map[string]interface{}{ - "datadirectory": cfg.Reva.Storages.Common.Root, + "datadirectory": cfg.Reva.Storages.OwnCloud.Root, "scan": cfg.Reva.Storages.OwnCloud.Scan, "redis": cfg.Reva.Storages.OwnCloud.Redis, - "enable_home": cfg.Reva.Storages.Common.EnableHome, - "user_layout": cfg.Reva.Storages.Common.UserLayout, + "enable_home": cfg.Reva.Storages.OwnCloud.EnableHome, + "user_layout": cfg.Reva.Storages.OwnCloud.UserLayout, "userprovidersvc": cfg.Reva.Users.URL, }, + "ocis": map[string]interface{}{ + "root": cfg.Reva.Storages.Common.Root, + "enable_home": cfg.Reva.Storages.Common.EnableHome, + "user_layout": cfg.Reva.Storages.Common.UserLayout, + }, "s3": map[string]interface{}{ "region": cfg.Reva.Storages.S3.Region, "access_key": cfg.Reva.Storages.S3.AccessKey, "secret_key": cfg.Reva.Storages.S3.SecretKey, "endpoint": cfg.Reva.Storages.S3.Endpoint, "bucket": cfg.Reva.Storages.S3.Bucket, - "prefix": cfg.Reva.Storages.Common.Root, + "prefix": cfg.Reva.Storages.S3.Root, }, } } diff --git a/pkg/command/gateway.go b/pkg/command/gateway.go index f2f7644e9f..3eceec3408 100644 --- a/pkg/command/gateway.go +++ b/pkg/command/gateway.go @@ -5,6 +5,7 @@ import ( "os" "os/signal" "path" + "strings" "time" "github.com/cs3org/reva/cmd/revad/runtime" @@ -25,6 +26,7 @@ func Gateway(cfg *config.Config) *cli.Command { Flags: flagset.GatewayWithConfig(cfg), Before: func(c *cli.Context) error { cfg.Reva.Gateway.Services = c.StringSlice("service") + cfg.Reva.StorageRegistry.Rules = c.StringSlice("storage-registry-rule") return nil }, @@ -104,8 +106,6 @@ func Gateway(cfg *config.Config) *cli.Command { "commit_share_to_storage_grant": cfg.Reva.Gateway.CommitShareToStorageGrant, "commit_share_to_storage_ref": cfg.Reva.Gateway.CommitShareToStorageRef, "share_folder": cfg.Reva.Gateway.ShareFolder, // ShareFolder is the location where to create shares in the recipient's storage provider. - // public links - "link_grants_file": cfg.Reva.Gateway.LinkGrants, // other "disable_home_creation_on_login": cfg.Reva.Gateway.DisableHomeCreationOnLogin, "datagateway": urlWithScheme(cfg.Reva.DataGateway.URL), @@ -125,28 +125,11 @@ func Gateway(cfg *config.Config) *cli.Command { }, }, "storageregistry": map[string]interface{}{ - "driver": "static", + "driver": cfg.Reva.StorageRegistry.Driver, "drivers": map[string]interface{}{ "static": map[string]interface{}{ - "home_provider": cfg.Reva.Gateway.HomeProvider, - "rules": map[string]interface{}{ - cfg.Reva.StorageRoot.MountPath: cfg.Reva.StorageRoot.URL, - cfg.Reva.StorageRoot.MountID: cfg.Reva.StorageRoot.URL, - cfg.Reva.StorageHome.MountPath: cfg.Reva.StorageHome.URL, - cfg.Reva.StorageHome.MountID: cfg.Reva.StorageHome.URL, - cfg.Reva.StorageEOS.MountPath: cfg.Reva.StorageEOS.URL, - cfg.Reva.StorageEOS.MountID: cfg.Reva.StorageEOS.URL, - cfg.Reva.StorageOC.MountPath: cfg.Reva.StorageOC.URL, - cfg.Reva.StorageOC.MountID: cfg.Reva.StorageOC.URL, - cfg.Reva.StorageS3.MountPath: cfg.Reva.StorageS3.URL, - cfg.Reva.StorageS3.MountID: cfg.Reva.StorageS3.URL, - cfg.Reva.StorageWND.MountPath: cfg.Reva.StorageWND.URL, - cfg.Reva.StorageWND.MountID: cfg.Reva.StorageWND.URL, - cfg.Reva.StorageCustom.MountPath: cfg.Reva.StorageCustom.URL, - cfg.Reva.StorageCustom.MountID: cfg.Reva.StorageCustom.URL, - "/public/": "localhost:10054", - "e1a73ede-549b-4226-abdf-40e69ca8230d": "localhost:10054", - }, + "home_provider": cfg.Reva.StorageRegistry.HomeProvider, + "rules": rules(cfg), }, }, }, @@ -244,6 +227,17 @@ func Gateway(cfg *config.Config) *cli.Command { func rules(cfg *config.Config) map[string]interface{} { + // if a list of rules is given it overrides the generated rules from below + if len(cfg.Reva.StorageRegistry.Rules) > 0 { + rules := map[string]interface{}{} + for i := range cfg.Reva.StorageRegistry.Rules { + parts := strings.SplitN(cfg.Reva.StorageRegistry.Rules[i], "=", 2) + rules[parts[0]] = parts[1] + } + return rules + } + + // generate rules based on default config return map[string]interface{}{ cfg.Reva.StorageRoot.MountPath: cfg.Reva.StorageRoot.URL, cfg.Reva.StorageRoot.MountID: cfg.Reva.StorageRoot.URL, @@ -260,6 +254,6 @@ func rules(cfg *config.Config) map[string]interface{} { cfg.Reva.StorageCustom.MountPath: cfg.Reva.StorageCustom.URL, cfg.Reva.StorageCustom.MountID: cfg.Reva.StorageCustom.URL, cfg.Reva.StoragePublicLink.MountPath: cfg.Reva.StoragePublicLink.URL, - cfg.Reva.StoragePublicLink.MountID: cfg.Reva.StoragePublicLink.URL, + // public link storage returns the mount id of the actual storage } } diff --git a/pkg/config/config.go b/pkg/config/config.go index 71bcaf1130..e28e58bd77 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -23,9 +23,14 @@ type Gateway struct { ShareFolder string LinkGrants string DisableHomeCreationOnLogin bool - // include the home folder config for the storage registry +} + +// StorageRegistry defines the available storage registry configuration +type StorageRegistry struct { + Driver string // HomeProvider is the path in the global namespace that the static storage registry uses to determine the home storage HomeProvider string + Rules []string } // Sharing defines the available sharing configuration. @@ -100,15 +105,29 @@ type PublicStorage struct { // StorageConfig combines all available storage driver configuration parts. type StorageConfig struct { EOS DriverEOS - Local DriverLocal + Local DriverCommon OwnCloud DriverOwnCloud S3 DriverS3 Common DriverCommon // TODO checksums ... figure out what that is supposed to do } +// DriverCommon defines common driver configuration options. +type DriverCommon struct { + // Root is the absolute path to the location of the data + Root string + //ShareFolder defines the name of the folder jailing all shares + ShareFolder string + // UserLayout contains the template used to construct + // the internal path, eg: `{{substr 0 1 .Username}}/{{.Username}}` + UserLayout string + // EnableHome enables the creation of home directories. + EnableHome bool +} + // DriverEOS defines the available EOS driver configuration. type DriverEOS struct { + DriverCommon // ShadowNamespace for storing shadow data ShadowNamespace string @@ -167,32 +186,18 @@ type DriverEOS struct { GatewaySVC string } -// DriverLocal defines the available local storage driver configuration. -type DriverLocal struct { - Root string -} - -// DriverCommon defines common driver configuration options. -type DriverCommon struct { - // Root is the absolute path to the location of the data - Root string - //ShareFolder defines the name of the folder jailing all shares - ShareFolder string - // UserLayout contains the template used to construct - // the internal path, eg: `{{substr 0 1 .Username}}/{{.Username}}` - UserLayout string - // EnableHome enables the creation of home directories. - EnableHome bool -} - // DriverOwnCloud defines the available ownCloud storage driver configuration. type DriverOwnCloud struct { + DriverCommon + Redis string Scan bool } // DriverS3 defines the available S3 storage driver configuration. type DriverS3 struct { + DriverCommon + Region string AccessKey string SecretKey string @@ -270,6 +275,7 @@ type Reva struct { Frontend FrontendPort DataGateway Port Gateway Gateway + StorageRegistry StorageRegistry Users Users AuthProvider Users AuthBasic Port diff --git a/pkg/flagset/drivereos.go b/pkg/flagset/drivereos.go index 3ea27170a7..3c2955d632 100644 --- a/pkg/flagset/drivereos.go +++ b/pkg/flagset/drivereos.go @@ -16,7 +16,7 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { Value: "/eos/dockertest/reva", Usage: "Namespace for metadata operations", EnvVars: []string{"REVA_STORAGE_EOS_NAMESPACE"}, - Destination: &cfg.Reva.Storages.Common.Root, + Destination: &cfg.Reva.Storages.EOS.Root, }, &cli.StringFlag{ Name: "storage-eos-shadow-namespace", @@ -30,7 +30,7 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { Value: "/Shares", Usage: "name of the share folder", EnvVars: []string{"REVA_STORAGE_EOS_SHARE_FOLDER"}, - Destination: &cfg.Reva.Storages.Common.ShareFolder, + Destination: &cfg.Reva.Storages.EOS.ShareFolder, }, &cli.StringFlag{ Name: "storage-eos-binary", @@ -95,7 +95,7 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { Name: "storage-eos-enable-home", Usage: "enable the creation of home directories", EnvVars: []string{"REVA_STORAGE_EOS_ENABLE_HOME"}, - Destination: &cfg.Reva.Storages.Common.EnableHome, + Destination: &cfg.Reva.Storages.EOS.EnableHome, }, &cli.StringFlag{ Name: "storage-eos-sec-protocol", @@ -120,7 +120,7 @@ func DriverEOSWithConfig(cfg *config.Config) []cli.Flag { Value: "{{substr 0 1 .Username}}/{{.Username}}", Usage: `"layout of the users home dir path on disk, in addition to {{.Username}}, {{.UsernameLower}} and {{.Provider}} also supports prefixing dirs: "{{.UsernamePrefixCount.2}}/{{.UsernameLower}}" will turn "Einstein" into "Ei/Einstein" `, EnvVars: []string{"REVA_STORAGE_EOS_LAYOUT"}, - Destination: &cfg.Reva.Storages.Common.UserLayout, + Destination: &cfg.Reva.Storages.EOS.UserLayout, }, &cli.StringFlag{ Name: "storage-eos-gatewaysvc", diff --git a/pkg/flagset/driverocis.go b/pkg/flagset/driverocis.go new file mode 100644 index 0000000000..533b0f1504 --- /dev/null +++ b/pkg/flagset/driverocis.go @@ -0,0 +1,33 @@ +package flagset + +import ( + "github.com/micro/cli/v2" + "github.com/owncloud/ocis-reva/pkg/config" +) + +// DriverOCISWithConfig applies cfg to the root flagset +func DriverOCISWithConfig(cfg *config.Config) []cli.Flag { + return []cli.Flag{ + &cli.StringFlag{ + Name: "storage-ocis-root", + Value: "/var/tmp/ocis/root", + Usage: "the path to the local storage root", + EnvVars: []string{"REVA_STORAGE_OCIS_ROOT"}, + Destination: &cfg.Reva.Storages.Common.Root, + }, + &cli.BoolFlag{ + Name: "storage-ocis-enable-home", + Value: true, + Usage: "enable the creation of home storages", + EnvVars: []string{"REVA_STORAGE_OCIS_ENABLE_HOME"}, + Destination: &cfg.Reva.Storages.Common.EnableHome, + }, + &cli.StringFlag{ + Name: "storage-ocis-layout", + Value: "{{.Id.OpaqueId}}", + 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{"REVA_STORAGE_OCIS_LAYOUT"}, + Destination: &cfg.Reva.Storages.Common.UserLayout, + }, + } +} diff --git a/pkg/flagset/driverowncloud.go b/pkg/flagset/driverowncloud.go index a33e94d41e..7cbe163555 100644 --- a/pkg/flagset/driverowncloud.go +++ b/pkg/flagset/driverowncloud.go @@ -13,7 +13,7 @@ func DriverOwnCloudWithConfig(cfg *config.Config) []cli.Flag { Value: "/var/tmp/reva/data", Usage: "the path to the owncloud data directory", EnvVars: []string{"REVA_STORAGE_OWNCLOUD_DATADIR"}, - Destination: &cfg.Reva.Storages.Common.Root, + Destination: &cfg.Reva.Storages.OwnCloud.Root, }, &cli.BoolFlag{ Name: "storage-owncloud-scan", @@ -34,14 +34,14 @@ func DriverOwnCloudWithConfig(cfg *config.Config) []cli.Flag { Value: false, Usage: "enable the creation of home storages", EnvVars: []string{"REVA_STORAGE_OWNCLOUD_ENABLE_HOME"}, - Destination: &cfg.Reva.Storages.Common.EnableHome, + Destination: &cfg.Reva.Storages.OwnCloud.EnableHome, }, &cli.StringFlag{ Name: "storage-owncloud-layout", Value: "{{.Id.OpaqueId}}", 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{"REVA_STORAGE_OWNCLOUD_LAYOUT"}, - Destination: &cfg.Reva.Storages.Common.UserLayout, + Destination: &cfg.Reva.Storages.OwnCloud.UserLayout, }, } } diff --git a/pkg/flagset/gateway.go b/pkg/flagset/gateway.go index 0da9e9df05..f773b90c36 100644 --- a/pkg/flagset/gateway.go +++ b/pkg/flagset/gateway.go @@ -98,14 +98,6 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { EnvVars: []string{"REVA_GATEWAY_SHARE_FOLDER"}, Destination: &cfg.Reva.Gateway.ShareFolder, }, - // TODO(refs) temporary workaround needed for storing link grants. - &cli.StringFlag{ - Name: "link_grants_file", - Value: "/var/tmp/reva/link_grants.json", - Usage: "when using a json manager, file to use as json serialized database", - EnvVars: []string{"REVA_GATEWAY_LINK_GRANTS_FILE"}, - Destination: &cfg.Reva.Gateway.LinkGrants, - }, &cli.BoolFlag{ Name: "disable-home-creation-on-login", Usage: "Disable creation of home folder on login", @@ -117,12 +109,26 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { // storage registry + &cli.StringFlag{ + Name: "storage-registry-driver", + Value: "static", + Usage: "driver of the storage registry", + EnvVars: []string{"REVA_STORAGE_REGISTRY_DRIVER"}, + Destination: &cfg.Reva.StorageRegistry.Driver, + }, + &cli.StringSliceFlag{ + Name: "storage-registry-rule", + Value: cli.NewStringSlice(), + Usage: `Replaces the generated storage registry rules with this set: --storage-registry-rule "/eos=localhost:9158" [--storage-registry-rule "1284d238-aa92-42ce-bdc4-0b0000009162=localhost:9162"]`, + EnvVars: []string{"REVA_STORAGE_REGISTRY_RULES"}, + }, + &cli.StringFlag{ Name: "storage-home-provider", Value: "/home", Usage: "mount point of the storage provider for user homes in the global namespace", EnvVars: []string{"REVA_STORAGE_HOME_PROVIDER"}, - Destination: &cfg.Reva.Gateway.HomeProvider, + Destination: &cfg.Reva.StorageRegistry.HomeProvider, }, &cli.StringFlag{ @@ -168,13 +174,6 @@ func GatewayWithConfig(cfg *config.Config) []cli.Flag { Destination: &cfg.Reva.Sharing.URL, }, - &cli.StringSliceFlag{ - Name: "storage-registry-rule", - Value: cli.NewStringSlice(), - Usage: `Replace the generated storage registry rules with this set --storage-registry-rule "/eos=localhost:9158" [--storage-registry-rule "1284d238-aa92-42ce-bdc4-0b0000009162=localhost:9162"]`, - EnvVars: []string{"REVA_STORAGE_REGISTRY_RULES"}, - }, - &cli.StringFlag{ Name: "storage-root-url", Value: "localhost:9152", diff --git a/pkg/flagset/storageeos.go b/pkg/flagset/storageeos.go index 51c95f04e4..39c9124a74 100644 --- a/pkg/flagset/storageeos.go +++ b/pkg/flagset/storageeos.go @@ -105,6 +105,7 @@ func StorageEOSWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storageeosdata.go b/pkg/flagset/storageeosdata.go index 1249d64214..227a078471 100644 --- a/pkg/flagset/storageeosdata.go +++ b/pkg/flagset/storageeosdata.go @@ -105,6 +105,7 @@ func StorageEOSDataWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storagehome.go b/pkg/flagset/storagehome.go index c771ed2686..369b852c0f 100644 --- a/pkg/flagset/storagehome.go +++ b/pkg/flagset/storagehome.go @@ -121,6 +121,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, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storagehomedata.go b/pkg/flagset/storagehomedata.go index 494a8c50d4..1d00b4ae5b 100644 --- a/pkg/flagset/storagehomedata.go +++ b/pkg/flagset/storagehomedata.go @@ -105,6 +105,7 @@ func StorageHomeDataWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storageoc.go b/pkg/flagset/storageoc.go index 30f3153a7a..8017b6daf2 100644 --- a/pkg/flagset/storageoc.go +++ b/pkg/flagset/storageoc.go @@ -117,6 +117,7 @@ func StorageOCWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storageocdata.go b/pkg/flagset/storageocdata.go index 3952bb595b..f984623a7d 100644 --- a/pkg/flagset/storageocdata.go +++ b/pkg/flagset/storageocdata.go @@ -105,6 +105,7 @@ func StorageOCDataWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags } diff --git a/pkg/flagset/storageroot.go b/pkg/flagset/storageroot.go index 791f8fbd5f..57a05cd0a4 100644 --- a/pkg/flagset/storageroot.go +++ b/pkg/flagset/storageroot.go @@ -105,6 +105,7 @@ func StorageRootWithConfig(cfg *config.Config) []cli.Flag { flags = append(flags, DriverEOSWithConfig(cfg)...) flags = append(flags, DriverLocalWithConfig(cfg)...) flags = append(flags, DriverOwnCloudWithConfig(cfg)...) + flags = append(flags, DriverOCISWithConfig(cfg)...) return flags }