GitLab Migration - export file metadata when exporting relations
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=379222) - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=379222) </details> <!--IssueSummary end--> As discussed in POC https://gitlab.com/gitlab-org/gitlab/-/issues/376261 GitLab Migration should start exporting file metadata when exporting project/group relations, in order to allow individual file read directly from ObjectStorage, instead of downloading entire zip file & decompressing it all. This brings a few benefits. For example, given a collection of exported LFS objects we can: 1. Download metadata file that has file names + size 2. Decide how to approach download. If there a a lot of small lfs objects - download entire zip 3. If there are big individual files - download them one at a time to save up to local disk space 4. We have an opportunity to expand what kind of metadata we export in the future ### Proposed solution 1. For each exported binary file, append to `metadata.json` it's filename & size 2. Consider using `ndjson`. Is it possible a single json object becomes too big? E.g. if there are 10k lfs objects. 3. Add `total` figures, e.g. total uncompressed size Can be beneficial to work on first, even before https://gitlab.com/gitlab-org/gitlab/-/issues/379216+
issue