Unified Backups: Refactor Backup::Manager related codebase
What does this MR do and why?
This includes the following refactors:
- Extracted
backup_information.yml
logic to Backup::Metadata class - Extracted Object Storage upload logic to a separate
Backup::RemoteStorage
class - Extracted the options parsing done via ENV variables to proper
Backup::Options
data-object
The refactors above are required to allow backup logic to be reused across current and Unified implementation.
Not all features from current implementation will be available in the Unified, and by extracting the many different pieces we can improve reusability and make the code more maintainable.
How to set up and validate locally
There is no intended change in behavior, so testing out a regular backup and one using any custom ENV variable should be sufficient
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #427337 (closed)
Edited by Gabriel Mazetto