What does this MR do?
This is a collection of small refactors to organize the codebase in a way that it makes it easier to understand which parts are interacting with each other to execute file replication (user uploads, lfs objects and ci artifacts).
This changes and simplifications are essential to pave the road for the introduction of Object Storage replication.
Extracted from the effort in https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/15606
- Extracted Base classes for each one of them
- Some magic constants were extracted to
- Removed the meta programming that was used to instantiate the classes above to make it easier to follow the code and do the refactors from an IDE
Gitlab::Geo::*Retrieverto remove the confusion with CarrierWave own uploader.
Does this MR meet the acceptance criteria?
Documentation created/updated or follow-up review issue created
Code review guidelines
Merge request performance guidelines
Separation of EE specific content
Related to #10586 (closed)