You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when mirroring a repository with reposilite, you can choose to enable "store" to cache artifacts on the local server.
However, this currently is an unmanaged cache, as it can grow infinitely and infrequently used artifacts will not be pruned by reposilite. For users concerned about disk space, this can be annoying because there is no easy way of identifying which artifacts are taking up a large amount of space but are infrequently accessed, so that they can be deleted to free up space.
The limit on artifacts stored would be determined by the following criteria:
Limit the stored artifacts to at most x artifacts.
Limit the stored artifacts to a quota.
Limit the stored artifacts to any downloaded in the past x days.
Artifacts can be chosen to be removed by the following criteria:
Remove artifacts based on longest period of time since last access.
Remove artifacts based on a formula including access time and number of downloads. (Could be user customizable, or hard coded) (for example: days since access * (downloads/10).) This feature exists to prioritize deleting artifacts that are old and are accessed infrequently.
Remove artifacts based on number of downloads.
From an implementation perspective, currently statistics are already stored about download count as well as download time. Another database table could be added to store a list of which artifacts, by group-artifact-version, are from a mirrored repo and which repo they're from. Then, it can be pruned in the following ways:
Schedule a task once every time a predetermined interval has elapsed
When the limit is reached, schedule a task to prune artifacts to ~95% of the limit, allowing further artifacts to be downloaded before another prune is triggered
The text was updated successfully, but these errors were encountered:
Request details
Currently, when mirroring a repository with reposilite, you can choose to enable "store" to cache artifacts on the local server.
However, this currently is an unmanaged cache, as it can grow infinitely and infrequently used artifacts will not be pruned by reposilite. For users concerned about disk space, this can be annoying because there is no easy way of identifying which artifacts are taking up a large amount of space but are infrequently accessed, so that they can be deleted to free up space.
The limit on artifacts stored would be determined by the following criteria:
x
artifacts.x
days.Artifacts can be chosen to be removed by the following criteria:
days since access * (downloads/10)
.) This feature exists to prioritize deleting artifacts that are old and are accessed infrequently.From an implementation perspective, currently statistics are already stored about download count as well as download time. Another database table could be added to store a list of which artifacts, by group-artifact-version, are from a mirrored repo and which repo they're from. Then, it can be pruned in the following ways:
The text was updated successfully, but these errors were encountered: