Backups: new upstream way of doing
Starting with GitLab 14.0, a new repository backups method appears, that uses a process called gitaly-backup
, directly provided by Gitaly. One can imagine how much more efficient it is compared to painfully lifting all Git bundles through gRPC calls.
Of course backups done this way don't have any Mercurial content and are hence useless for Heptapod.
Like all new features, it is controlled by a feature flag that is not activated by default, yet is automatically active in the GitLab Development ToolKit (GDK) is activated by default in GitLab 14.2.
For the Heptapod release relying on 14.2, we can shamelessly ignore this feature flag and always use the older method, it passes our functional tests.
But Heptapod backups needs to be adapted for when the new method becomes the norm – and perhaps the only choice. We will have to provide the needed methods in HGitaly so that gitaly-backup
(actually a client program) can make use of it.
Task list
-
HGitaly support for full backups, hooking in the rake task, behind the gitlay-backup
feature flag, disabled by default. Done in %Heptapod 0.31.0 -
HGitaly support for incremental backups -
removal of the feature flag when we land GitLab 14.10 in Heptapod