Skip to content

Implement expiration of artifacts and removal of unneeded files

The system administrator should be able to schedule with cron debusine-admin expire_artifacts that would go over all artifacts and delete those that are past their expiration date.

However their expiration date is ignored for as long as they are needed by other (non-expirable) artifacts. The definition of "needed" depends on our final design decisions in #65 (closed), but at the current time it means that you should not remove any target of "built-using" or any artifact defining "relates-to" unless the target is gone.

At the end of the process, in order to reclaim disk space (or cloud storage quota), the files that are no longer part of any artifact should also be removed from the file stores in which they are present.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information