Pipeline Artifacts need an expiration mechanism

Summary

We've introduced Pipeline Artifacts but have not implemented an expiration mechanism for them. We should implement a mechanism for expiration in order to not put pressure on our storage.

Risk

This could affect https://gitlab.com/gitlab-org/gitlab/-/issues/24275 as it's lacking expiration period. Even though we recently enfourced job artifacts to be expired within 1 month, this doesn't apply to pipeline artifacts yet.

Original

The following discussion from !37969 (merged) should be addressed:
  • @dosuken123 started a discussion:

    Should we add expire_at column? We likely need to expire these artifacts as we shouldn't keep these artifacts forever.

Edited by Shinya Maeda