distribution/registry/storage
James Hewitt e22f7cbc73
Pass the last paging flag to storage drivers
Storage drivers may be able to take advantage of the hint to start
their walk more efficiently.

For S3: The API takes a start-after parameter. Registries with many
repositories can drastically reduce calls to s3 by telling s3 to only
list results lexographically after the last parameter.

For the fallback: We can start deeper in the tree and avoid statting
the files and directories before the hint in a walk. For a filesystem
this improves performance a little, but many of the API based drivers
are currently treated like a filesystem, so this drastically improves
the performance of GCP and Azure blob.

Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
2023-08-29 11:27:42 +01:00
..
cache Replace redigo with redis-go 2023-08-26 07:44:02 +01:00
driver Pass the last paging flag to storage drivers 2023-08-29 11:27:42 +01:00
blob_test.go Remove registry storage testdriver 2023-05-02 16:37:33 +02:00
blobserver.go go.mod: change imports to github.com/distribution/distribution/v3 2021-02-08 18:30:46 +01:00
blobstore.go deprecate ReadSeekCloser in favor of io.ReadSeekCloser 2022-11-10 23:10:32 +01:00
blobwriter.go Update Azure SDK and support additional authentication schemes 2023-04-25 17:23:20 +00:00
blobwriter_nonresumable.go bump up golang v1.17 2021-10-27 15:51:30 +08:00
blobwriter_resumable.go format code with gofumpt 2022-11-03 22:48:20 +01:00
catalog.go Pass the last paging flag to storage drivers 2023-08-29 11:27:42 +01:00
catalog_test.go Pass the last paging flag to storage drivers 2023-08-29 11:27:42 +01:00
doc.go Move storage package under registry package 2015-02-11 12:43:04 -08:00
error.go Remove old walk function 2018-01-18 13:06:07 -08:00
filereader.go replace deprecated io/ioutil 2022-11-04 23:47:52 +01:00
filereader_test.go Handle rand deprecations in go 1.20 2023-08-28 09:33:12 +01:00
garbagecollect.go format code with gofumpt 2022-11-03 22:48:20 +01:00
garbagecollect_test.go add back getKeys + cleanup manifeststore test 2023-08-28 12:44:49 +02:00
io.go replace deprecated io/ioutil 2022-11-04 23:47:52 +01:00
linkedblobstore.go fix typo in comment and log 2023-08-23 19:39:19 +08:00
linkedblobstore_test.go Remove uses of deprecated go-digest.NewDigestFromHex, go-digest.Digest.Hex 2022-11-08 13:51:11 +01:00
manifestlisthandler.go Fix Go Idioms 2023-04-21 15:22:37 +01:00
manifeststore.go feat(storage)!: remove schema1 except manifeststore_test 2023-08-28 12:44:46 +02:00
manifeststore_test.go add back getKeys + cleanup manifeststore test 2023-08-28 12:44:49 +02:00
ociindexhandler.go Split OCI Image Index from Docker Manifest List 2023-03-31 11:43:21 +01:00
ocimanifesthandler.go format code with gofumpt 2022-11-03 22:48:20 +01:00
ocimanifesthandler_test.go registry: verify digest and check blob presence when put manifest 2021-04-16 16:11:52 +08:00
paths.go Pass the last paging flag to storage drivers 2023-08-29 11:27:42 +01:00
paths_test.go format code with gofumpt 2022-11-03 22:48:20 +01:00
purgeuploads.go format code with gofumpt 2022-11-03 22:48:20 +01:00
purgeuploads_test.go format code with gofumpt 2022-11-03 22:48:20 +01:00
registry.go feat(storage)!: remove schema1 except manifeststore_test 2023-08-28 12:44:46 +02:00
schema2manifesthandler.go feat(storage)!: remove schema1 except manifeststore_test 2023-08-28 12:44:46 +02:00
schema2manifesthandler_test.go registry: verify digest and check blob presence when put manifest 2021-04-16 16:11:52 +08:00
tagstore.go format code with gofumpt 2022-11-03 22:48:20 +01:00
tagstore_test.go format code with gofumpt 2022-11-03 22:48:20 +01:00
vacuum.go go.mod: change imports to github.com/distribution/distribution/v3 2021-02-08 18:30:46 +01:00