I have been following the development progress of backup/restore with mismatched versions of GitLab. No doubt that this is a complex issue, so I expect it to take valid develpment/test time to perfect. And maybe it will never really be the answer.
In the meantime, I am looking to validate ideas on backing up Gitlab for a longer term restore.
Simply backup a full working dir. That gets the important stuff, the data.
Do a GitLab backup, and store the tar along with the GitLab version’s specific download package. Thus, one would be able to load up a VM with the old GitLab package, and then restore from the tar. Unless the older GitLab will not install on a newer VM/OS, due to dependencies etc.
Backup the entire VM, including GitLab, and all GitLab files, dbs, etc. This should be not much worse than #1 size-wise. I am betting that the archived VM will run on qemu for a lot longer than an older GitLab version will install on a newer VM/OS.