How do we make GitLab more NFS-friendly?
It is not common but also not uncommon to run GitLab behind a load balancer with multiple GitLab servers and shared file storage, e.g. NFS. At the moment configuring the shared file storage part is messy and every release it seems to get worse.
We have shared files in:
- repositories
- uploads
- builds
- (soon) artifacts
- tmp/repositories
- tmp/rebase
- ... I probably missed something
Some of these paths are configurable in the application, some are not. Developers seem to randomly add new shared directories in each release, making it hard to keep documentation up to date, and making it hard for people running GitLab with NFS to update. What can we do about that?
Suggested rules
- Every directory used for shared storage in GitLab is configurable
- /home/git/gitlab/tmp is NOT shared storage: it contains sockets and pid files
- ?