You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
New to Stash? Please start here.
Stash Backends
Backend is where Stash stores backup snapshots. It can be a cloud storage like GCS bucket, AWS S3, Azure Blob Storage etc. or a Kubernetes persistent volume like HostPath, PersistentVolumeClaim, NFS etc. Below diagram show how Stash sidecar container access and store backup data into a backend storage.
Stash sidecar container receive backend information from spec.backend
field of Restic crd. It obtains necessary credentials to access the backend from the secret specified in spec.backend.storageSecretName
field of Restic crd. Then on first backup schedule, Stash initialize a repository in the backend.
Below, a screenshot that show a repository created at AWS S3 bucket named stash-qa
for a Deployment named stash-demo
.
You will see all snapshots taken by Stash at /snapshot
directory of this repository.
Note: Stash keeps all backup data encrypted. So, snapshot files in the bucket will not contain any meaningful data until they are decrypted.
Stash creates a Repository crd that represents original repository in backend in a Kubernetes native way. It holds information like number of backup snapshot taken, time when last backup was taken etc.
In order to use a backend, you have to configure Restic
crd and create a Secret
with necessary credentials.
Next Steps
- Learn how to configure
local
backend from here. - Learn how to configure
AWS S3
backend from here. - Learn how to configure
Google Cloud Storage (GCS)
backend from here. - Learn how to configure
Microsoft Azure Storage
backend from here. - Learn how to configure
OpenStack Swift
backend from here. - Learn how to configure
Backblaze B2
backend from here.