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

As a Quay user I want proxied images to be stored in Quay so that my pulls are faster

    XMLWordPrintable

Details

    • Story
    • Resolution: Done
    • Major
    • quay-v3.7.0
    • None
    • quay
    • 0

    Description

      Acceptance criteria

      • As a user I can pull an image from Quay from a proxy organization even if it doesn't exist there yet. Once I tried to pull and the image isn't locally cached yet, Quay will fetch it from explicitly defined upstream / source registries, caches it locally and stream it to the client transparently
      • As a user I want to rely on Quay's cache to stay coherent with the upstream source so that I transparently get newer images from the cache when tags have been overwritten in the upstream registry immediately (see next story)
      • As a user I want to rely on the expiration time to control when cached images expire. Quay always checks for new versions upstream, and when it finds one it pulls the new version and resets the expiration (when it's not 0). Quay will never pass on upstream errors to clients unless the image expires AND Quay can't pull it

      Open questions

      • How do we calculate pull frequency of images?
      • Is pull frequency calculation easier than getting the least recently used images?
      • When setting a staleness period of 24h, will Quay not check for image updates on the upstream registry until 24h after the image was last updated? (DanielMesser, can you help answer this one?)
        • Correct, see comment below
        • No longer applies, see updated comment below

      Attachments

        Issue Links

          Activity

            People

              fmissi Flavian Missi
              fmissi Flavian Missi
              Dongbo Yan Dongbo Yan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: