diff --git a/changelog/unreleased/default-upload-protocol.md b/changelog/unreleased/default-upload-protocol.md new file mode 100644 index 000000000..6ca035eb3 --- /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 b656e9e6c..c657e85aa 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 02864be82..4c069a80c 100644 --- a/storage/pkg/config/config.go +++ b/storage/pkg/config/config.go @@ -284,7 +284,6 @@ type LDAPSchema struct { // OCDav defines the available ocdav configuration. type OCDav struct { - ChunkFolder string WebdavNamespace string DavFilesNamespace string } @@ -320,10 +319,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 336c182f5..8684abb3f 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",