Skip to content
/ stash Public

πŸ›… Backup your Kubernetes Stateful Applications

License

Notifications You must be signed in to change notification settings

stashed/stash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Go Report Card Build Status Docker Pulls Slack Twitter

Stash

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.

Features

Features Community Edition Enterprise Edition Scope
Open source Stash Free for everyone Open Core Stash for production Enterprise workloads
Backup & Restore Workload Data βœ“ βœ“ Deployment, DaemonSet, StatefulSet, ReplicaSet, ReplicationController, OpenShift DeploymentConfig
Backup & Restore Stand-alone Volume (PVC) βœ“ βœ“ PersistentVolumeClaim, PersistentVolume
Schedule Backup, Instant Backup βœ“ βœ“ Schedule through cron expression or trigger instant backup using Stash Kubernetes plugin
Pause Backup βœ“ βœ“ No new backup when paused.
Backup & Restore subset of files βœ“ βœ“ Only backup/restore the files that matches the provided patterns
Cleanup old snapshots automatically βœ“ βœ“ Cleanup old snapshots according to different retention policies
Encryption, Deduplication (send only diff) βœ“ βœ“ Encrypt backed up data with AES-256. Stash only sends the changes since last backup.
CSI Driver Integration βœ“ βœ“ VolumeSnapshot for Kubernetes workloads. Supported for Kubernetes v1.17.0+.
Prometheus Metrics βœ“ βœ“ Rich backup metrics, restore metrics and Stash operator metrics.
Security βœ“ βœ“ Built-in support for RBAC, PSP and Network Policy
CLI βœ“ βœ“ kubectl plugin (for Kubernetes 1.12+)
Extensibility and Customizability βœ“ βœ“ Write addons for bespoke applications and customize currently supported workloads
Hooks βœ“ βœ“ Execute httpGet, httpPost, tcpSocket and exec hooks before and after of backup or restore process.
Cloud Storage as Backend βœ“ βœ“ Stores backup data in AWS S3, Minio, Rook, GCS, Azure, OpenStack Swift, Backblaze B2 and Rest Server
On-prem Storage as Backend βœ— βœ“ Stores backup data in any locally mounted Kubernetes Volumes such as NFS, etc.
Backup & Restore databases βœ— βœ“ PostgreSQL, MySQL, MongoDB, Elasticsearch, Redis, MariaDB, Percona XtraDB
Auto Backup βœ— βœ“ Share backup configuration across workloads using templates. Enable backup for a target application via annotation.
Batch Backup & Batch Restore βœ— βœ“ Backup and restore co-related applications (eg, WordPress server and its database) together
Point-In-Time Recovery (PITR) βœ— Planned Restore a set of files from a time in the past.

Installation

To install Stash, please follow the guide here.

Using Stash

Want to learn how to use Stash? Please start here.

Contribution guidelines

Want to help improve Stash? Please start here.

Acknowledgement

Support

To speak with us, please leave a message on our website.

To join public discussions with the Stash community, join us in the AppsCode Slack team channel #stash. To sign up, use our Slack inviter.

To receive product announcements, follow us on Twitter.

If you have found a bug with Stash or want to request new features, please file an issue.

License

FOSSA Status