Support for content-level compression (#1076)

* cli: added a flag to create repository with v2 index features

* content: plumb through compression.ID parameter to content.Manager.WriteContent()

* content: expose content.Manager.SupportsContentCompression

This allows object manager to decide whether to create compressed object
or let the content manager do it.

* object: if compression is requested and the repo supports it, pass compression ID to the content manager

* cli: show compression status in 'repository status'

* cli: output compression information in 'content list' and 'content stats'

* content: compression and decompression support

* content: unit tests for compression

* object: compression tests

* testing: added integration tests against v2 index

* testing: run all e2e tests with and without content-level compression

* htmlui: added UI for specifying index format on creation

* cli: additional tests for 'content ls' and 'content stats'

* applied pr suggestions
This commit is contained in:
Jarek Kowalski authored and GitHub committed 2021-05-22 05:35:27 -07:00
1 parent 99b7a6e5d2
commit 40510c043d
36 files changed
+915 -362

No files matched your search

+9 -8
View File
@@ -18,14 +18,15 @@ import (
// StatusResponse is the response of 'status' HTTP API command.
type StatusResponse struct {
Connected bool `json:"connected"`
ConfigFile string `json:"configFile,omitempty"`
Hash string `json:"hash,omitempty"`
Encryption string `json:"encryption,omitempty"`
Splitter string `json:"splitter,omitempty"`
MaxPackSize int `json:"maxPackSize,omitempty"`
Storage string `json:"storage,omitempty"`
APIServerURL string `json:"apiServerURL,omitempty"`
Connected bool `json:"connected"`
ConfigFile string `json:"configFile,omitempty"`
Hash string `json:"hash,omitempty"`
Encryption string `json:"encryption,omitempty"`
Splitter string `json:"splitter,omitempty"`
MaxPackSize int `json:"maxPackSize,omitempty"`
Storage string `json:"storage,omitempty"`
APIServerURL string `json:"apiServerURL,omitempty"`
SupportsContentCompression bool `json:"supportsContentCompression"`
repo.ClientOptions
}