Skip to content

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.

Related to #427337 (closed)

Edited by Gabriel Mazetto

Merge request reports