From c1839ce48ef781cc8ed454474ee99377d6433e21 Mon Sep 17 00:00:00 2001 From: Ishank Arora Date: Thu, 21 Jan 2021 11:14:22 +0100 Subject: [PATCH] Use a default protocol parameter instead of explicitly disabling tus --- changelog/unreleased/default-upload-protocol.md | 4 ++++ storage/pkg/command/frontend.go | 6 ++---- storage/pkg/config/config.go | 3 +-- storage/pkg/flagset/frontend.go | 12 ++++++------ 4 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 changelog/unreleased/default-upload-protocol.md diff --git a/changelog/unreleased/default-upload-protocol.md b/changelog/unreleased/default-upload-protocol.md new file mode 100644 index 00000000000..6ca035eb3dc --- /dev/null +++ b/changelog/unreleased/default-upload-protocol.md @@ -0,0 +1,4 @@ +Enhancement: Use a default protocol parameter instead of explicitly disabling tus + +https://github.com/cs3org/reva/pull/1331 +https://github.com/owncloud/ocis/pull/1374 diff --git a/storage/pkg/command/frontend.go b/storage/pkg/command/frontend.go index b656e9e6c40..c657e85aa7b 100644 --- a/storage/pkg/command/frontend.go +++ b/storage/pkg/command/frontend.go @@ -88,7 +88,7 @@ func Frontend(cfg *config.Config) *cli.Command { "versioning": true, } - if !cfg.Reva.UploadDisableTus { + if cfg.Reva.DefaultUploadProtocol == "tus" { filesCfg["tus_support"] = map[string]interface{}{ "version": "1.0.0", "resumable": "1.0.0", @@ -131,12 +131,10 @@ func Frontend(cfg *config.Config) *cli.Command { }, "ocdav": map[string]interface{}{ "prefix": cfg.Reva.Frontend.OCDavPrefix, - "chunk_folder": cfg.Reva.OCDav.ChunkFolder, "files_namespace": cfg.Reva.OCDav.DavFilesNamespace, "webdav_namespace": cfg.Reva.OCDav.WebdavNamespace, "timeout": 86400, "insecure": true, - "disable_tus": cfg.Reva.UploadDisableTus, }, "ocs": map[string]interface{}{ "share_prefix": cfg.Reva.Frontend.OCSSharePrefix, @@ -148,7 +146,7 @@ func Frontend(cfg *config.Config) *cli.Command { "contact": "admin@localhost", "ssl": "false", }, - "disable_tus": cfg.Reva.UploadDisableTus, + "default_upload_protocol": cfg.Reva.DefaultUploadProtocol, "capabilities": map[string]interface{}{ "capabilities": map[string]interface{}{ "core": map[string]interface{}{ diff --git a/storage/pkg/config/config.go b/storage/pkg/config/config.go index 52a18dae62e..d4572be2f32 100644 --- a/storage/pkg/config/config.go +++ b/storage/pkg/config/config.go @@ -283,7 +283,6 @@ type LDAPSchema struct { // OCDav defines the available ocdav configuration. type OCDav struct { - ChunkFolder string WebdavNamespace string DavFilesNamespace string } @@ -319,10 +318,10 @@ type Reva struct { // chunking and resumable upload config (TUS) UploadMaxChunkSize int UploadHTTPMethodOverride string - UploadDisableTus bool // checksumming capabilities ChecksumSupportedTypes []string ChecksumPreferredUploadType string + DefaultUploadProtocol string } // Tracing defines the available tracing configuration. diff --git a/storage/pkg/flagset/frontend.go b/storage/pkg/flagset/frontend.go index 336c182f55a..8684abb3fce 100644 --- a/storage/pkg/flagset/frontend.go +++ b/storage/pkg/flagset/frontend.go @@ -128,12 +128,12 @@ func FrontendWithConfig(cfg *config.Config) []cli.Flag { }, // Chunking - &cli.BoolFlag{ - Name: "upload-disable-tus", - Value: false, - Usage: "Disables TUS upload mechanism", - EnvVars: []string{"STORAGE_FRONTEND_UPLOAD_DISABLE_TUS"}, - Destination: &cfg.Reva.UploadDisableTus, + &cli.StringFlag{ + Name: "default-upload-protocol", + Value: "tus", + Usage: "Default upload chunking protocol to be used out of tus/v1/ng", + EnvVars: []string{"STORAGE_FRONTEND_DEFAULT_UPLOAD_PROTOCOL"}, + Destination: &cfg.Reva.DefaultUploadProtocol, }, &cli.IntFlag{ Name: "upload-max-chunk-size",