我想设置一个docker注册表,允许匿名拉取但验证推送。
我天真的方法是允许获取请求。但这似乎打破了登录,因为如果对/ v2 /的初始Get请求产生401,客户端只会创建凭据。
然而,存储库读取也是从那开始的,因此我也不能将其置于身份验证之后。
基本上我似乎必须区分拉前ping和登录前ping。
我也很乐意设置令牌身份验证。但这可能会遇到同样的难题。
答案 0 :(得分:0)
显然,要做的就是设置令牌身份验证。
然后,即使没有给出基本身份验证,也可以为范围提取返回有效的令牌。
您可以在https://github.com/cloudfleet/floating-dock/blob/master/app/controllers/api/v1/jwt_controller.rb和https://github.com/cloudfleet/floating-dock/blob/master/app/services/auth/container_registry_authentication_service.rb
上找到示例代码它是注册表的GitLabs JWT实现的改编版本。