Authenticated calls to the /v2/<repo>/tags/list fail when redirected to the paginated tags list endpoint
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- api, authentication, backend
調査の方向性
Start by reproducing the failure with skopeo list-tags or Harbor's Docker registry provider against a repository with more than 100 tags, comparing bare and paginated /v2//tags/list requests. Trace the registry authentication handling for these endpoints; done means the paginated request accepts the same authentication as the bare endpoint.
索引モデルが issue の本文から書いたものです。
説明
Version
"core": "3.43.2",
"container": "2.17.0"
Describe the bug
Requests to the /v2//tags/list endpoint succeed, but fail with a 401 when pagination query parameters are appended.
The same token is used for both requests, and just includes service=:
/token/?service=example.com
('pulp [813cd77a4cb44f64a4d8093505867076]: ::ffff:172.18.0.9 - - [15/Aug/2025:10:22:15 +0000] "GET /v2/stackhpc/neutron-server/tags/list HTTP/1.0" 200 3573 "-" "harbor-registry-client"',)
('pulp [bbf9921074914c1783ba2d5b40e7caf0]: ::ffff:172.18.0.9 - - [15/Aug/2025:10:22:15 +0000] "GET /v2/stackhpc/neutron-server/tags/list?n=100&last=2025.1-ubuntu-noble-20250725T143116 HTTP/1.0" 401 106 "https://example.com/v2/stackhpc/neutron-server/tags/list?n=100&last=2025.1-ubuntu-noble-20250725T143116" "harbor-registry-client"',)
If the token includes scope= (and account=) then the paginated call is successful.
/token/?account=REDACTED&scope=repository%3Astackhpc%2Fneutron-server%3Apull&service=example.com
('pulp [c726049738fb4854ab8b907da1e8f953]: ::ffff:172.18.0.9 - - [15/Aug/2025:12:27:10 +0000] "GET /v2/stackhpc/neutron-server/tags/list HTTP/1.0" 200 3573 "-" "skopeo/1.19.0"',)
('pulp [a247c47c7fa145269cd5fd8d16ff3b1c]: ::ffff:172.18.0.9 - - [15/Aug/2025:12:33:41 +0000] "GET /v2/stackhpc/neutron-server/tags/list?n=100&last=2025.1-ubuntu-noble-20250725T143116 HTTP/1.0" 200 480 "-" "skopeo/1.19.0"',)
I'm not sure what the correct behaviour for the registry v2 protocol is, but there is enough variety in the client implementation that something like Skopeo (which requests the repository= scope in its token) can always list tags from a repository, whether it has more than 100 tags or not, but Harbor's "Docker registry" provider can't if there are more than 100 tags in the repository.
To Reproduce
Use skopeo list-tags or setup a replication rule using Harbor's Docker registry provider on a repository with more than 100 tags and observe the difference in behaviour.
Expected behavior
The paginated version of /v2//tags/list should be behind the same authentication as the bare endpoint.
- 主要言語
- Python
- スター
- 31
- フォーク
- 57
- 平均マージ
- 1日 8時間
- マージ済み PR(30日)
- 87
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pulp/pulp_container のほかの issue
-
Feature
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
pulp/pulp_container#2519 ·
メンテナーはふだん 1 日以内に返信
-
base_path uniqueness constraint prevents syncing the same image from multiple remote registriesオープンQuestion
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
pulp/pulp_container#2495 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Sync performance: skip /tags/list for specific tag lists対応中かも @parmstro が 18 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
pulp/pulp_container#2474 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
pulp/pulp_container#2473 ·
メンテナーはふだん 1 日以内に返信
-
Task
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
pulp/pulp_container#2246 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
pulp/pulp_container の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
glossyio/traffic-monitor#264 ·
メンテナーはふだん 1 日以内に返信
-
Add self-hostオープン
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
Atarity/deploy-your-own-saas#102 ·
-
[Bug]: RDFlex silently drops the covariate adjustment when the outcome or treatment column is integer-typed対応中かも @vrjdev が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
DoubleML/doubleml-for-py#424 ·
メンテナーはふだん 1 日以内に返信
-
agentic-dmx docs enhancement
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
521xueweihan/HelloGitHub#4150 ·