-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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