Skip to content

Support of Google Artifact Registry (GAR) #159

Open
@vitaliihrynko1

Description

@vitaliihrynko1

Hello,

I am trying to use docker-registry-proxy to proxy and cache request to GAR domains, but it does not work as expected.
docker pull:

docker pull us-docker.pkg.dev/<project>/<repo>/test-vitalii:test1
test1: Pulling from <project>/<repo>/test-vitalii
70ba6f391a98: Retrying in 5 seconds 
^C

docker-registry-proxy logs:

{"access_time":"08/May/2024:11:14:54 +0000","upstream_cache_status":"","method":"GET","uri":"/v2/","request_type":"unknown","status":"401","bytes_sent":"96","upstream_response_time":"0.860","host":"us-docker.pkg.dev","proxy_host":"us-docker.pkg.dev","upstream":"64.233.165.82:443"}
{"access_time":"08/May/2024:11:14:55 +0000","upstream_cache_status":"","method":"GET","uri":"/v2/token","request_type":"unknown","status":"200","bytes_sent":"3231","upstream_response_time":"0.928","host":"us-docker.pkg.dev","proxy_host":"us-docker.pkg.dev","upstream":"64.233.165.82:443"}
2024/05/08 11:14:55 [error] 180#180: *13 connect() to [2a00:1450:4010:c08::52]:443 failed (101: Network unreachable) while connecting to upstream, client: 127.0.0.1, server: proxy_caching_, request: "HEAD /v2/<project>/<repo>/test-vitalii/manifests/test1 HTTP/1.1", upstream: "https://[2a00:1450:4010:c08::52]:443/v2/<project>/<repo>/test-vitalii/manifests/test1", host: "us-docker.pkg.dev"
2024/05/08 11:14:55 [warn] 180#180: *13 upstream server temporarily disabled while connecting to upstream, client: 127.0.0.1, server: proxy_caching_, request: "HEAD /v2/<project>/<repo>/test-vitalii/manifests/test1 HTTP/1.1", upstream: "https://[2a00:1450:4010:c08::52]:443/v2/<project>/<repo>/test-vitalii/manifests/test1", host: "us-docker.pkg.dev"
{"access_time":"08/May/2024:11:14:56 +0000","upstream_cache_status":"MISS","method":"HEAD","uri":"/v2/<project>/<repo>/test-vitalii/manifests/test1","request_type":"manifest-default-disabled","status":"200","bytes_sent":"0","upstream_response_time":"0.000, 1.180","host":"us-docker.pkg.dev","proxy_host":"us-docker.pkg.dev","upstream":"[2a00:1450:4010:c08::52]:443, 64.233.165.82:443"}
2024/05/08 11:14:57 [error] 181#181: *20 invalid URL prefix in "/artifacts-downloads/namespaces/<project>/repositories/<repo>/downloads/ALJkh8N9ipaC35ZyJtHLLl0clVcnheREkl_Eof40VoUJD44gmFvMAO8JXiPHnEDp-X9z2YDyPL3igSgr2bCLaGsPOb2sprYBdcy0WHlT9ow1jd9LXdcVRYAIF-MUP7B-LZRVurcKQPWWnWTklv3K2HhUymbSQIUv9vXVa4n50h9qGfUtXbnIRT3gHBX1TJwI9tABdwfZGgAzuf1m64-RyGOjIk64Uub3Ib4_OoJZZM5gfBrnuEpQRcj25avdhZS2XRSqqsEUpakOBZudgAcbKquQ-vJkxGM_OE5W9bnqlbWdkVZBFFKjg-ZFj08b_pOxgaIok9UDp-JFdlXSU_MggDH9o7gPwOln4vHbfZ67QTB2T0BOO48cbVNejZBULr4EtEWRmQluKWtH33Lch5ViWcyAG9qJOuksSIfdI-ChOkpQjpx0hcL64N9mpfGPKT8OSxy1msvQ-yLPaqdTg05cQtv2QUdV_vcRR1yhpIfIrjgJy4C8prwYeDvkUlsrOe2X-SvfadMKI6TQBy4FtF57eG7ZXMRY4JVPQP7RmAKDDc02S6DEmIVQ71qI3RVWYa_z05Gv4REJm2YtFNR8IS5X9CbqDTKeMqNjhy9tgxyEMuNzG1t6jcaJdEBvoF_AbEhhDthdkpW-vUrUAf4alFxm_Wub9Bqz71tQaXnuEQsbsl5HRsQCpBa58T1hV8wefpk_cakKYUnmbMkUNzitLRJZJ5Z2_wMZwlSU98-bFlqvAa68X-qsYO_aNsh4YhS94W32bnGENFT_f8XCvilNEeWU3oAFGES-yVaWk0RGfPNE163a4q83ErmwWBg4nZiai5K_SMBlweIPX-X_54Z8fyYpdobIg5lGt281xyvq3Vq9yfIIw_Zf0e1THCQ-_BGmvK9IKQUmAcsJfKrNrcisJQ_zJmuxV9rqlz0x0hIaXHGn0Ax5ayE6DIyPjRvBkMgthkXgo5GXV3ZTuPJkmL0ff4mU-BQurQWqoAceGXg4AUvk4HKXTqFMh6_-jT2zCJyADfzisHh6giHKX-SmZLFAAIB8X-mrXUH1xJbnZVcUnqmHupJnH0Jdy2mcM9JK0NfjbvMBd0isNTKPTA0NghMwFzD5lGcCVlBsUBqtZmuCfTdftmEP9U5MFeJAi7Q0r7gAU5KX1vIo30pbqrnGZIOxzPq62mALfP0jl8YJOJQ5Xt5o7vHgkO-Ku06nn7cLd1AxeLqz0ZP0HJHsyU54aD6EiNtYKwMNR7WMSiF4s6KfXWzZO-U-X7bZwICyzCAgFsxkYuVzyjmTXMPF1aR-dDhwk_UIiCVpYv-4eDC5hu3ytHEL50_DIdAUKpcXpv6U7MOmgnChzdya5XqUOt21ftf02pHQQs57a3o_rOy2ZRuxQ3qctguyplyBX0ACMnv-Y5-bN92Wwo-KYZfQcX1sUYeZa56uX7zw6qD1q2Yr5zy7Ezt7ptJHLirUlLmX2jQU3Tdf_4N-0aNGtvEgQPyzMCnKE4z1O_1lmA7AMwDj1Wev0uJUwkj0e0CbGrYHU6Lozcg96fNa5EQ-Dp8SfaT_iHBjwZQ4T_NF7dZaDz32KZqTOsKX_HxU2wAV0FYnan2fkzxVuzqa71aiwDx4O31GXV_oWxXQASJznh0R0B2f08KO0aRhU1pLFcyXDDCgxzRPNedzRtd2EXi7ZEqTsnOrkwi7qDmtuDY7UnzOfo3FkOhrMoXwYEzDLUWBYjALpxSP5EnpxJRQWxS_Cg70i7-thWq9rUqk-Ju6zlBMIwH0T_AqcEfKbnC5DFOJylh5cBsXEqKsksnAA-y5d9bqSOCB4WpJLqB-x6ZZ9riVD298daviM5Kf8xMK_rTfqurswMjvttAeWxlEm_BtAdKuQ4tRY4ciPK3pwFWy6DcrOhXMX

Looks like there is some redirection from /v2/ to /artifacts-download/ and nginx can not handle this.
Also I have added proxy_buffer settings under http section to handle big headers:

http {
    proxy_buffer_size   128k;
    proxy_buffers   4 256k;
...
...

Could you please advise a workaround or release a new version with GAR support?

Thanks,
Vitalii

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions