stash

command module
v0.10.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 25, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

README

Go Report Card Build Status codecov Docker Pulls Slack Twitter FOSSA Status

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 setup 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. User may even extend Stash via addons for any custom workload.

Features

Features Availability Scope
Backup & Restore Workload Data Deployment, DaemonSet, StatefulSet, ReplicaSet, ReplicationController, OpenShift DeploymentConfig
Backup & Restore Stand-alone Volume (PVC) PersistentVolumeClaim, PersistentVolume
Backup & Restore databases PostgreSQL, MySQL, MongoDB, Elasticsearch
VolumeSnapshot CSI Driver must support VolumeSnapshot and Kubernetes Alpha features must be enabled
Schedule Backup Schedule through cron expression
Instant Backup Use CLI or create BackupSession manually
Auto Backup Using a Template and annotations
Batch Backup Backup multiple co-related targets under a single configuration
Pause Scheduled Backup
Support Multiple Storage Provider AWS S3, Minio, Rook, GCS, Azure, OpenStack Swift, Backblaze B2, Rest Server, any PV/PVC
Encryption AES-256 in counter mode (CTR) (for Restic driver)
Deduplication (send only diff) Uses Content Defined Chunking (CDC) (for Restic driver)
Cleanup old snapshots automatically Cleanup according to different retention policies
Prometheus Metrics for Backup & Restore Process Official Prometheus Server, CoreOS Prometheus Operator
Prometheus Metrics for Stash Operator Official Prometheus Server, CoreOS Prometheus Operator
Support RBAC enabled cluster
Support PSP enabled cluster
CLI kubectl plugin (for Kubernetes 1.12+)
Extensibility Extend using Function and Task
Customizability Customize backup / restore process using Function and Task
Hooks Execute httpGet, httpPost, tcpSocket and exec hooks before and after of backup or restore process.
Send Notification to Webhook Use hooks to send notification to webhooks(i.e. Slack channel)

Supported Versions

Please pick a version of Stash that matches your Kubernetes installation.

Stash Version Docs Kubernetes Version
v0.9.0-rc.6 (uses CRD) User Guide 1.11.x+
0.8.3 (uses CRD) User Guide 1.9.x+
0.7.0 (uses CRD) User Guide 1.8.x
0.6.4 (uses CRD) User Guide 1.7.x
0.4.2 (uses TPR) User Guide 1.5.x - 1.6.x

Installation

To install Stash, please follow the guide here.

Using Stash

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

Stash API Clients

You can use Stash api clients to programmatically access its objects. Here are the supported clients:

Contribution guidelines

Want to help improve Stash? Please start here.


Stash binaries collects anonymous usage statistics to help us learn how the software is being used and how we can improve it. To disable stats collection, run the operator with the flag --enable-analytics=false.


Acknowledgement

Support

We use Slack for public discussions. To chit chat with us or the rest of the community, join us in the AppsCode Slack team channel #stash. To sign up, use our Slack inviter.

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

License

FOSSA Status

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL