As per CircleCI Server 3.x and 4.x documentation, CircleCI Server uses Velero (and Restic) to manage backups.
CircleCI Server admins install Velero and Restic via the command:
# --use-restic will install Restic
# see https://velero.io/docs/v1.9/restic/#install-restic
$ velero install \
...
--provider gcp \
--plugins velero/velero-plugin-for-gcp:v1.2.0 \
--use-restic \
--wait
Note: that Velero will install the server version according the the client (CLI) version.
As of Velero >= v1.10, the --use-restic
option is no longer available.
Importantly, Velero >= 1.10 will interact with Restic binary directly: https://velero.io/docs/v1.10/file-system-backup/#how-velero-integrates-with-restic
NOTE: Restic can still be used with Velero >= 1.10; The way to install and interact with Restic is different likely.
CircleCI docs mention installing the latest Velero. Right now, this would be Velero v1.11.0, however: https://github.com/vmware-tanzu/velero
This is problematic since the docs is referring to Restic usage as of Velero <= 1.9.x https://circleci.com/docs/server/operator/backup-and-restore/#creating-backups
I believe the way to run backups with Restic with Velero >= 1.10.0 will be different; I think it would be via using the Restic binary directly? See https://velero.io/docs/v1.11/file-system-backup/#how-velero-integrates-with-restic
It would thus be good to confirm how Restic + Velero >= v1.10.0 works for CircleCI Server backups.
Beyond the Velero version, it is important to check the AWS or GCP plugin's compatibility with Velero version:
- https://github.com/vmware-tanzu/velero-plugin-for-aws#compatibility
- https://github.com/vmware-tanzu/velero-plugin-for-gcp#compatibility
Right now, the CircleCI docs refer to velero/velero-plugin-for-aws:v1.2.0
specifically:
https://circleci.com/docs/server/installation/phase-4-post-installation/#set-up-backup-and-restore-on-aws
We note that for Velero 1.9.x, velero/velero-plugin-for-aws:v1.5.x
should be used.
It would also be good to confirm if v1.2.0 are fine for all Velero versions <= 1.9.x. Otherwise, the CircleCI docs would require an update.