Stash can be configured to automatically backup of any stateful workloads in your cluster. Stash enables cluster administrators to deploy backup blueprints ahead of time so that application owners can easily backup any types of workload with a few annotations. This allows Enterprises to stay prepared for disaster scenarios and recover from offsite secure backups in case of a disaster on public cloud and on-premises datacenters.
Stash uses 1-1 mapping among
BackupConfiguration and the target. So, whenever you want to backup a target(workload/PVC/database), you have to create a
BackupConfiguration object. This could become tiresome when you are trying to backup similar types of target and the
BackupConfiguration have only a slight difference. To mitigate this problem, Stash provides a way to specify a blueprint for these two objects via
BackupBlueprint crd. In Stash parlance, we call this process as Auto Backup.
You have to create only one
BackupBlueprint for all similar types of target. For example, you need only one
BackupBlueprint for Deployment, DaemonSet, StatefulSet etc. Similarly, you have to create only one
BackupBlueprint for all PostgreSQL databases. Then, you just need to add some annotations in the target. Stash will automatically create respective
BackupConfiguration objects using the blueprint and perform backups on pre-defined schedule.
The following diagram shows how automatic backup works in Stash. Open the image in a new tab to see the enlarged version.
The automatic backup process consists of the following steps:
BackupBlueprintcrd that specifies a blueprint for
BackupConfigurationobject for the workload according to the resolved blueprint.
BackupBlueprintis a non-namespaced crd. So, you can use a
BackupBlueprintto backup targets in multiple namespaces. However, Storage Secret is a namespaced object. So, you have to manually create the secret in each namespace where you have a target for backup. Please give us your feedback on how to improve the ux of this aspect of Stash on GitHub.