Restoring Data
How to restore from a Retour backup.
Restore by Backup Name
The simplest restore references the Backup by name:
apiVersion: retour.thebackup.company/v1
kind: Restore
metadata:
name: my-restore
spec:
backupName: webapp-backup
storageBackend: s3-production
Retour will restore all resources and PV data from that backup.
Selective Restore
Restore only specific resources:
apiVersion: retour.thebackup.company/v1
kind: Restore
metadata:
name: selective-restore
spec:
backupName: webapp-backup
storageBackend: s3-production
resourcesToRestore:
- kind: Deployment
name: webapp
namespace: production
- kind: PersistentVolumeClaim
name: webapp-data
namespace: production
Restore from External Path
When the backup was created in another cluster or the Backup CR no longer exists, use backupPath:
apiVersion: retour.thebackup.company/v1
kind: Restore
metadata:
name: external-restore
spec:
backupPath: /backups/2024-01-15/webapp-backup
storageBackend: s3-production
The restore reads the backup's metadata documents straight from the storage backend, so nothing needs to exist in the cluster beforehand. See Disaster Recovery.
Restore from Backup Job UUID
If you have the backup's job UUID (recorded in the Backup CR's status.jobUUID):
Monitoring a Restore
# Watch restore status
kubectl get restores -w
# Check worker logs
kubectl logs -f -n retour -l app=retour-worker
# Inspect restore details
kubectl describe restore my-restore
Phases: Pending → Running → Completed (or Failed)
Restore to a Different Namespace
Retour restores resources to their original namespaces by default. For cross-namespace or cluster migration, you may need to adjust the restore workflow or use resourcesToRestore to target specific resources after manual namespace creation.