Implement basic tracking system for backfill and attachments
Description
In the context of Disaster Recovery with Geo, we need to implement the tracking mechanism to backfill the repository, and sync attachments.
- Geo secondary nodes are read-only, so we need another DB
- How do we manage a second DB connection with Rails?
- What data do we need to track?
Tasks
-
Add a secondary DB that we can write to -
Figure out how to deal with second DB and track migration -
Omnibus changes
-
-
Add a basic scheduler that attempts to clone one repo at a time -
Set up GitLab Geo on Digital Ocean -
Use the tracking DB to find which projects should be cloned -
Backfill repository -
Backfill wiki
-
-
Add ability to turn on/off the backfilling mechanism
Links / references
- Geo DR: #846 (closed)