You are looking at the documentation of a prior release. To read the documentation of the latest release, please visit here.


Stash by AppsCode is a cloud native data backup and recovery solution for Kubernetes workloads. If you are running production workloads in Kubernetes, you might want to take backup of your disks, databases etc. Traditional tools are too complex to set up and maintain in a dynamic compute environment like Kubernetes. Stash is a Kubernetes operator that uses restic or Kubernetes CSI Driver VolumeSnapshotter functionality to address these issues. Using Stash, you can backup Kubernetes volumes mounted in workloads, stand-alone volumes and databases. Users may even extend Stash via addons for any custom workload.

Here, we are going to give you an overview of Stash documentation structure.


Concept explains some significant aspect of Stash. This is where you can learn about what Stash does and how it does it.

  • Stash Overview Provides an introduction to Stash and gives an overview of the features it provides.
  • Stash Architecture Provides an overview of Stash architecture and it’s core components.
  • Stash API Introduces Stash CRDs.


Setup contains instruction for installing, uninstalling, and upgrading Stash.

  • Install Stash: Provides installation instructions for Stash and its various components.
  • Uninstall Stash: Provides uninstallation instructions for Stash and its various components.
  • Upgrade Stash: Provides instruction for updating Stash license and upgrading between various Stash versions.


Guides show how to perform different operations with Stash.

  • Supported Backends: Describes how to configure different storage for storing backed up data.

  • Workload Volume Backup: Shows how to use Stash to backup and restore volumes of a workload (i.e. Deployment, StatefulSet, DaemonSet, etc).

  • Stand-alone Volume Backup: Shows how to use Stash to backup and restore stand-alone volumes(i.e. PersistentVolumeClaim).

  • Batch Backup: Shows how to backup multiple co-related components using a single configuration known as BackupBatch.

  • Auto Backup: Shows how to configure automatic backup of any stateful workload in your cluster.

  • Volume Snapshot: Shows how Stash takes snapshot of PersistentVolumeClaims and restore them from snapshot using Kubernetes VolumeSnapshot API.

  • Different Use Cases: Shows different uses cases of Stash like instant backup, pause backup, cross-namespace backup and restore etc.

  • Managed Backup Shows how backup and restore can be managed in some specific scenerios.

    • Dedicated Backup Namespace: Shows you how to manage backup and restore from a dedicated namespace for targets of different namespaces using Stash.
    • Dedicated Storage Namespace: Shows you how to take backup and restore by keeping the storage resources (Repository and backend Secret) in a dedicated namespace using Stash.
  • Platforms: Shows how to use Stash to backup and restore volumes of a Kubernetes workload running in different platforms.

  • Monitoring: Shows how Prometheus monitoring works with Stash, what metrics Stash exports, and how to enable monitoring.

  • Hooks: Shows how to execute different actions before/after the backup/restore process.

  • CLI: Shows how to manage Stash objects quickly and easily using Stash kubectl plugin.

  • Troubleshooting: Gives an overview of how you can gather the necessary information to identify the issue that causes the backup/restore failure.

  • Security: Describes different built-in cluster security support by Stash.

We’re always looking for help improving our documentation, so please don’t hesitate to file an issue if you see some problem.