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

Image pull activity tracking

XMLWordPrintable

    • Icon: Feature Feature
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • None
    • BU Product Work
    • False
    • None
    • False
    • Not Selected

      Goal: Provide insight into popularity of an image tag by recording the last pull date so that auto-pruning rules can be created that prune based on the least recently pulled images.

      Background: Currently, users have little to no insight into when an image tag was last pulled. This information is needed to decide whether it is safe to delete a tag as part of cleaning up the repository. We currently record pull events in the audit logs, but these are expensive to query and sometimes do not allow querying at all.

      Acceptance criteria:

      • for each individual image tag, Quay keeps a record of the last pull date and updates it on pull via the tag
      • for each individual image tag, Quay keeps a pull count and increments it on pull via the tag
      • for each individual image tag, Quay also maintains a record of the last pull date of the associated manifest and updates it on pull via tag or pull via digest
      • for each individual image tag, Quay also maintains a pull count the associated manifest and incrmeents it on pull via tag or pull via digest
      • the UI displays the most recent pull date and overall pull count for each image tag
      • a pull event is interpreted in the same way / with the same conditions as currently logging the pull event in the audit logs
      • it is acceptable for the pull activity to be temporarily stored in an in-memory cache like Redis or memcached and periodically synced to the database
      • it is acceptable for only a specific in-memory stored to be required in order to support pull activity tracking (e.g. Redis due to its concurrency / integrity feature)
      • this feature should be gated behind a feature toggle

              Unassigned Unassigned
              DanielMesser Daniel Messer
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: