Backup Examples
Ready-to-use Backup manifests for common scenarios. See YAML Files for downloadable .yaml files.
Basic: Single Deployment
Backup a Deployment and its attached PVCs. Retour discovers volumes automatically. Retour discovers volumes automatically.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: webapp-backup
spec:
storageBackend: s3-production
namespacedResources:
- resourceType: Deployment
namespace: production
name: webapp
StatefulSet
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: database-backup
spec:
storageBackend: s3-production
namespacedResources:
- resourceType: StatefulSet
namespace: production
name: postgres
Full Namespace
Backup all resources in a namespace and their PVs.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: production-namespace-backup
spec:
storageBackend: s3-production
clusterResources:
- resourceType: Namespace
name: production
Manifests Only (No PV Data)
Useful for quick configuration backup or when PV data is managed separately.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: manifests-only
spec:
storageBackend: s3-production
excludePVs: true
namespacedResources:
- resourceType: Deployment
namespace: production
name: webapp
With Resource Filter
Exclude Secrets, Pods, and resources matching patterns or labels.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: filtered-backup
spec:
storageBackend: minio
clusterResources:
- resourceType: Namespace
name: my-app
resourceFilter:
excludeResourceTypes:
- Secret
- ConfigMap
- Pod
excludeResourceNames:
- "^debug-"
- "^test-"
excludeResourceLabels:
matchLabels:
exclude-from-backup: "true"
With PV Path Filters
Include or exclude specific paths within a PVC.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: selective-paths-backup
spec:
storageBackend: s3-production
namespacedResources:
- resourceType: StatefulSet
namespace: production
name: database
pvFilters:
- name: data-pvc
include:
- /var/lib/mysql
exclude:
- /var/lib/mysql/tmp
- /var/lib/mysql/logs
Multiple Resources
Backup several Deployments and a Namespace in one Backup.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: multi-resource-backup
spec:
storageBackend: s3-production
namespacedResources:
- resourceType: Deployment
namespace: production
name: webapp
- resourceType: Deployment
namespace: production
name: api
- resourceType: StatefulSet
namespace: production
name: redis
clusterResources:
- resourceType: Namespace
name: staging
Skip Specific PVC
Skip a PVC when backing up a StatefulSet.
apiVersion: retour.thebackup.company/v1
kind: Backup
metadata:
name: skip-pvc-backup
spec:
storageBackend: s3-production
namespacedResources:
- resourceType: StatefulSet
namespace: production
name: app
pvFilters:
- name: cache-pvc
skip: true
BackupSchedule: Daily
apiVersion: retour.thebackup.company/v1
kind: BackupSchedule
metadata:
name: daily-backup
spec:
schedule: "0 2 * * *"
storageBackend: s3-production
namespacedResources:
- resourceType: Deployment
namespace: production
name: webapp
successfulBackupsHistoryLimit: 7
failedBackupsHistoryLimit: 2