Use a non-disk cache for project archive caching
When project archives (e.g. .zip, .tar.gz, .etc) are fetched, we cache the download on disk in /var/opt/gitlab/gitlab-rails/shared/cache
. This directory is shared across the front-end because it is NFS mounted.
Part of the effort to remove our dependency on NFS (SPOF) in epic gitlab-com/gl-infra&98 (closed) is removing this shared mount https://gitlab.com/gitlab-com/gl-infra/infrastructure/-/issues/9864
In order to move the front-end to Kubernetes we should probably switch this caching to something other than local disk. We should also evaluate whether this mount should be removed, as it would put more pressure on Gitaly since we round-robin requests to the web front-end.
Update: For GitLab.com this has been mitigated by turning on the workhorse_archive_cache_disabled
feature flag (which is disabled by default). This means we are not caching project archives at all for logged in users, for anonymous users we cache project archives at cloudflare. I think this issue should remain open until we decide whether we are going to change the caching strategy so we don't depend on a CDN for cloud-native installs.