-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
perf: reduce auth request count for manifest delete #618
Conversation
Signed-off-by: Lixia (Sylvia) Lei <lixlei@microsoft.com>
Signed-off-by: Lixia (Sylvia) Lei <lixlei@microsoft.com>
Codecov Report
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. @@ Coverage Diff @@
## main #618 +/- ##
=======================================
Coverage 75.11% 75.11%
=======================================
Files 59 59
Lines 5420 5421 +1
=======================================
+ Hits 4071 4072 +1
Misses 994 994
Partials 355 355
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but IANAM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Add `pull` and `delete` scope hints before attempting client-side indexing on manifest delete. Resolve: oras-project#594 Signed-off-by: Lixia (Sylvia) Lei <lixlei@microsoft.com>
Backporting 0f1dc30 to the release branch. This change does the same thing as the original commit (#618) did but using the old `registryutil.WithScopeHint` instead of `auth.AppendRepositoryScope`, which is introduced by #604 and is not available in `v2.3.x`. Signed-off-by: Lixia (Sylvia) Lei <lixlei@microsoft.com>
Add
pull
anddelete
scope hints before attempting client-side indexing on manifest delete.Resolve: #594
Before this change, the requests produced during deleting a manifest when Referrers API is not known to be available:
#0
: GET manifest - 401#1
: POST token (scope: pull) - 200#2
: GET manifest - 200#3
: GET referrers index - 200#4
: PUT referrers index - 401#5
: POST token (scope: pull, push) - 200#6
: PUT referrers index - 201#7
: DELETE manifest - 401#8
: POST token (scope: delete)#9
: DELETE manifest - 202After this change, the requests should become:
#0
: GET manifest - 401#1
: POST token (scope: pull, delete) - 200#2
: GET manifest - 200#3
: GET referrers index - 200#4
: PUT referrers index - 401#5
: POST token (scope: pull, push) - 200#6
: PUT referrers index - 201#7
: DELETE manifest - 202