[Dune-devel] Gitlab: Migrate artifacts, packages, (dependency proxy) to S3-compat object storage
Ansgar Burchardt
ansgar.burchardt at tu-dresden.de
Thu Jun 11 17:34:49 CEST 2026
Hi,
the virtual disk for Gitlab data is fairly full:
root at dune-gitlab:~# df -h /srv/data
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 300G 264G 32G 90% /srv/data
A large chunk is CI job artifacts and packages:
root at dune-gitlab:~# du -shc /srv/data/gitlab/gitlab-rails/shared/*
157G /srv/data/gitlab/gitlab-rails/shared/artifacts
3.3G /srv/data/gitlab/gitlab-rails/shared/cache
0 /srv/data/gitlab/gitlab-rails/shared/ci_secure_files
0 /srv/data/gitlab/gitlab-rails/shared/dependency_proxy
0 /srv/data/gitlab/gitlab-rails/shared/encrypted_settings
0 /srv/data/gitlab/gitlab-rails/shared/external-diffs
2.7G /srv/data/gitlab/gitlab-rails/shared/lfs-objects
47G /srv/data/gitlab/gitlab-rails/shared/packages
0 /srv/data/gitlab/gitlab-rails/shared/pages
0 /srv/data/gitlab/gitlab-rails/shared/registry
0 /srv/data/gitlab/gitlab-rails/shared/terraform_state
0 /srv/data/gitlab/gitlab-rails/shared/tmp
209G total
For comparison the Git repository data and Gitlab database are much
smaller:
root at dune-gitlab:~# du -shc /srv/data/gitlab/git-data /srv/data/gitlab/postgresql
14G /srv/data/gitlab/git-data
15G /srv/data/gitlab/postgresql
29G total
Instead of resizing the disk, I would like to migrate some more data to
S3-compatible object storage. We already use object storage for the
Docker registry.
I would migrate the following objects:
1. Job artifacts (CI/CD job artifacts including logs).
2. Project packages (PyPI, ...)
3. Dependency proxy (currently unused, just configure it to use object
storage).
I would keep Git LFS objects on the disk as the S3-compat storage has
redundancy (to cover disk failure), but no full backups (when something
deletes too much). I don't think losing CI/CD job artifacts or packages
is too bad, just like with Docker images.
The migration should be possible while Gitlab runs. It is also possible
to migrate back to local storage.
See the Gitlab documentation for
details: https://docs.gitlab.com/administration/object_storage/
Regards,
Ansgar
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20260611/4a2bf7d3/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6599 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune-devel/attachments/20260611/4a2bf7d3/attachment.bin>
More information about the Dune-devel
mailing list