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

Auto-pruning policy based on least recently pulled

XMLWordPrintable

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

      Goal: Provide more effective auto-pruning based on actual usage of the image.

      Background: Auto-pruning policies exist that delete based on overall amount of tags or based on image creation date. The challenge with this is that in a busy registry this could hit images that are still actively used but happen to fall into the pruning criteria based on their age. Customers that have users that lag behind updating their applications may experience cases where the auto-pruner deletes image tags that seem old but are still actively used on the cluster. Such users would not notice this until the image has to pulled again due to cluster maintenance or restart of the application pods other nodes.
      It's crucial to exercise caution when deleting artifacts that are primarily pulled by a digest reference, as this doesn't affect the last pull date or pull counters on the tag. A prime example of this is mirrored OpenShift content that gets created with a tag reference, but the image is referred to exclusively by its digest.

      Acceptance criteria:

      • an auto-pruning policy that allows users to specify a time duration (in days, weeks, years) that would prune image tags that have not been pulled in this specified time period
      • the auto-pruning policy further allows the specification of a regular expression to define a tag naming pattern
      • if the image tag matched by the policy refers to an artifact that refers to another artifact (OCI referrers) it should not be deleted
      • if an image tag matched by the policy is the last remaining tag pointing to the manifest in the repository, it should only be deleted if the last pull date of the manifest in the repository also hasn't been pulled within the specified time duration of the policy

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

                Created:
                Updated: