Uploaded image for project: 'Project Quay'
  1. Project Quay
  2. PROJQUAY-7330

Stage.quay.io should return the next_page with API "v2/{repo}/tags/list" to retain backwards compatibility

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • None
    • None
    • None
    • False
    • None
    • False

      Description:

      This is an issue found in stage.quay.io, after enabled "OCI-compliant pagination", found with API "v2/{repo}/tags/list", quay will not return with "next_page", compared the behavior with quay.io, quay can return "next_page", like "/v2/quay-qetest/ocipagination/tags/list?n=50&next_page=gAAAAABmb8ztZJMEFDrgfikzTNbMUNp9kDrmS8ROZ6l_sVIWWotcgTfKh8_yiL-Au8Ptc9JHb0YprAWa4zXr2m5s9et1Af_aQORRZC3dSIYyou65nco6v8Y%3D", the expected behavior should be retaining backwards compatibility, pls review this issue.

      ENV:  stage.quay.io

      curl --location 'https://stage.quay.io/v2/qateam/ocipagination/tags/list' \
      --header 'Authorization: Bearer ********' -v 
      > GET /v2/qateam/ocipagination/tags/list HTTP/2
      > Host: stage.quay.io
      > User-Agent: curl/8.6.0
      > Accept: */*
      > Authorization: Bearer ******
      > 
      < HTTP/2 200 
      < date: Mon, 17 Jun 2024 05:45:08 GMT
      < content-type: application/json
      < content-length: 1228
      < server: nginx/1.22.1
      < link: </v2/qateam/ocipagination/tags/list?n=100&last=ocitag187>; rel="next"
      < vary: Cookie
      < x-frame-options: DENY
      < strict-transport-security: max-age=63072000; preload
      < 
      {"name":"qateam/ocipagination","tags":["latest","ocitag1","ocitag10","ocitag100","ocitag1000","ocitag101","ocitag102","ocitag103","ocitag104","ocitag105","ocitag106","ocitag107","ocitag108","ocitag109","ocitag11","ocitag110","ocitag111","ocitag112","ocitag113","ocitag114","ocitag115","ocitag116","ocitag117","ocitag118","ocitag119","ocitag12","ocitag120","ocitag121","ocitag122","ocitag123","ocitag124","ocitag125","ocitag126","ocitag127","ocitag128","ocitag129","ocitag13","ocitag130","ocitag131","ocitag132","ocitag133","ocitag134","ocitag135","ocitag136","ocitag137","ocitag138","ocitag139","ocitag14","ocitag140","ocitag141","ocitag142","ocitag143","ocitag144","ocitag145","ocitag146","ocitag147","ocitag148","ocitag149","ocitag15","ocitag150","ocitag151","ocitag152","ocitag153","ocitag154","ocitag155","ocitag156","ocitag157","ocitag158","ocitag159","ocitag16","ocitag160","ocitag161","ocitag162","ocitag163","ocitag164","ocitag165","ocitag166","ocitag167","ocitag168","ocitag169","ocitag17","ocitag170","ocitag171","ocitag172","ocitag173","ocitag174","ocitag175","ocitag176","ocitag177","ocitag178","ocitag179","ocitag18","ocitag180","ocitag181","ocitag182","ocitag183","ocitag184","ocitag185","ocitag186","ocitag187"]}

      Production quay.io:

      curl --location 'https://quay.io/v2/quay-qetest/ocipagination/tags/list' \
      --header 'Authorization: Bearer ******' -v
      * Host quay.io:443 was resolved.
      > GET /v2/quay-qetest/ocipagination/tags/list HTTP/2
      > Host: quay.io
      > User-Agent: curl/8.6.0
      > Accept: */*
      > Authorization: Bearer ******
      > 
      < HTTP/2 200 
      < date: Mon, 17 Jun 2024 05:43:09 GMT
      < content-type: application/json
      < content-length: 573
      < server: nginx/1.22.1
      < link: </v2/quay-qetest/ocipagination/tags/list?n=50&next_page=gAAAAABmb8ztZJMEFDrgfikzTNbMUNp9kDrmS8ROZ6l_sVIWWotcgTfKh8_yiL-Au8Ptc9JHb0YprAWa4zXr2m5s9et1Af_aQORRZC3dSIYyou65nco6v8Y%3D>; rel="next"
      < vary: Cookie
      < x-frame-options: DENY
      < strict-transport-security: max-age=63072000; preload
      < 
      {"name":"quay-qetest/ocipagination","tags":["latest","taga","tagb","tagc","ocitag1","ocitag2","ocitag3","ocitag4","ocitag5","ocitag6","ocitag7","ocitag8","ocitag9","ocitag10","ocitag11","ocitag12","ocitag13","ocitag14","ocitag15","ocitag16","ocitag17","ocitag18","ocitag19","ocitag20","ocitag21","ocitag22","ocitag23","ocitag24","ocitag25","ocitag26","ocitag27","ocitag28","ocitag29","ocitag30","ocitag31","ocitag32","ocitag33","ocitag34","ocitag35","ocitag36","ocitag37","ocitag38","ocitag39","ocitag40","ocitag41","ocitag42","ocitag43","ocitag44","ocitag45","ocitag46"]}

            DanielMesser Daniel Messer
            lzha1981 luffy zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: