Hashed Storage support for Repositories
What does this MR do?
- Adds Hashed based storage support for Project repositories.
- Adds application settings to enable Hashed based storage for new projects. (we will make this default in a future release and deprecate the "legacy storage")
Are there points in the code the reviewer needs to double check?
This is a follow up on the Storage refactor: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/2477. In this MR we want to enable the new Hash based storage support for the repositories only. Other dependent components will be handled in future versions.
Why was this MR needed?
We need the repository storage location to be detached from the routing URLs so we don't need to ever rename files on disk for Geo while renaming or moving repositories around.
See for more context: https://gitlab.com/gitlab-org/gitlab-ce/issues/28283
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added - Tests
-
Added for this feature/bug -
All builds are passing
-
- Review
-
Has been reviewed by UX -
Has been reviewed by Frontend -
Has been reviewed by Backend -
Has been reviewed by Database
-
-
Conform by the merge request performance guides -
Conform by the style guides -
Branch has no merge conflicts with master
(if it does - rebase it please) -
Squashed related commits together
What are the relevant issue numbers?
Closes #28283 (closed)
Edited by Gabriel Mazetto